diff --git a/README.md b/README.md index 72075c9f..7b7abdb9 100644 --- a/README.md +++ b/README.md @@ -78,15 +78,6 @@ Others: https://www.youtube.com/channel/UC7ev3hNVkx4DzZ3LO19oebg 1. If you have MSVS 2015, CUDA 8.0 and OpenCV 2.4.9 (with paths: `C:\opencv_2.4.9\opencv\build\include` & `C:\opencv_2.4.9\opencv\build\x64\vc14\lib`), then start MSVS, open `build\darknet\darknet.sln`, set **x64** and **Release**, and do the: Build -> Build darknet - 1.1 If you want to build with CUDNN to speed up, then: - - * download and install CUDNN: https://developer.nvidia.com/cudnn - - * add Windows system variable `cudnn` with path to CUDNN: https://hsto.org/files/a49/3dc/fc4/a493dcfc4bd34a1295fd15e0e2e01f26.jpg - - * open `\darknet.sln` -> (right click on project) -> properties -> C/C++ -> Preprocessor -> Preprocessor Definitions, and add at the beginning of line: `CUDNN;` - - 2. If you have other version of CUDA (not 8.0) then open `build\darknet\darknet.vcxproj` by using Notepad, find 2 places with "CUDA 8.0" and change it to your CUDA-version, then do step 1 3. If you have other version of OpenCV 2.4.x (not 2.4.9) then you should change pathes after `\darknet.sln` is opened @@ -104,6 +95,14 @@ Others: https://www.youtube.com/channel/UC7ev3hNVkx4DzZ3LO19oebg 4. If you have other version of OpenCV 3.x (not 2.4.x) then you should change many places in code by yourself. +5. If you want to build with CUDNN to speed up then: + + * download and install CUDNN: https://developer.nvidia.com/cudnn + + * add Windows system variable `cudnn` with path to CUDNN: https://hsto.org/files/a49/3dc/fc4/a493dcfc4bd34a1295fd15e0e2e01f26.jpg + + * open `\darknet.sln` -> (right click on project) -> properties -> C/C++ -> Preprocessor -> Preprocessor Definitions, and add at the beginning of line: `CUDNN;` + ### How to compile (custom): Also, you can to create your own `darknet.sln` & `darknet.vcxproj`, this example for CUDA 8.0 and OpenCV 2.4.9 @@ -197,7 +196,8 @@ https://groups.google.com/d/msg/darknet/NbJqonJBTSY/Te5PfIpuCAAJ Where: * `` - integer number of object from `0` to `(classes-1)` - * ` ` - float values relative to width and height of image, it can be equal from 0.0 to 1.0 + * ` ` - float values relative to width and height of image, it can be equal from 0.0 to 1.0 + * for example: ` = / ` or ` = / ` * atention: ` ` - are center of rectangle (are not top-left corner) For example for `img1.jpg` you should create `img1.txt` containing: @@ -222,6 +222,8 @@ https://groups.google.com/d/msg/darknet/NbJqonJBTSY/Te5PfIpuCAAJ 9. After training is complete - get result `yolo-obj_final.weights` from path `build\darknet\x64\backup\` + * After each 1000 iterations you can stop and later start training from this point. For example, after 2000 iterations you can stop training, and later just copy `yolo-obj_2000.weights` from `build\darknet\x64\backup\` to `build\darknet\x64\` and start training using: `darknet.exe detector train data/obj.data yolo-obj.cfg yolo-obj_2000.weights` + * Also you can get result earlier than all 45000 iterations, for example, usually sufficient 2000 iterations for each class(object). I.e. for 6 classes to avoid overfitting - you can stop training after 12000 iterations and use `yolo-obj_12000.weights` to detection. ### Custom object detection: