# nn **Repository Path**: more_than_code_admin/nn ## Basic Information - **Project Name**: nn - **Description**: 基于numpy,cupy与少量的cuda实现简单的卷积网络框架,并复现YOLO-V2目标检测算法。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 0 - **Created**: 2021-10-28 - **Last Updated**: 2022-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Pyconv #### Introduction A simple convolution neural network framework based on numpy, cupy and CUDA. #### Installation Python3 is required for this framework. Run the following commands to install third party dependencies. ```shell pip install -r requirements.txt ``` #### Demo 1. **Train a digit classifier on Minist** Take up the following steps: 1. Download minist dataset from http://yann.lecun.com/exdb/mnist/ . 2. Unpack minist dataset to `minist/data`. 3. Move python scripts: ```shell mv minist/trian.py . mv minist/test.py . ``` 4. Run `train.py` to train classifier. ```shell python train.py ``` 5. Run `test.py` to test trained classifier. ```shell python test.py ``` 2. **Train a smart player to play flappy bird** I **swear** that I have finished this demo, but I have no time to merge that code to this repo. 3. **Train yolo-v2-tiny detector on VOC dataset** Now this toy framework has been used to overfit detector on a small dataset, but hasn't been used to train detector on the whole dataset from scratch yet. (no GPU, no time, and i am lazy ... qwq) Take up the following steps: 1. Download VOC dataset: ```shell chmod a+x yolov2/scripts/voc2007.sh ./yolov2/scripts/voc2007.sh ``` 2. Transform dataset from voc-format to darknet-format: ```shell python yolov2/scripts/voc2yolo.py --path path/to/voc_root --to ./yolov2/data ``` 3. Generate anchors for VOC dataset: ```shell python yolov2/scripts/anchors.py --files path/to/train.txt ``` 4. Move python scripts: ```shell mv yolov2/overfit.py . ``` 5. Run `overfit.py` to overfit detector on 4 images: ```shell python overfit.py ```