The porting to C++ try for the Darknet neural network repository
Original repository taken from https://github.com/AlexeyAB/darknet
Some parts of the repository taken from the C++ template project located at https://github.com/yuriysydor1991/cpp-app-template.git
Work in progress. Do not expect project to work in the current state
See more at the kytok.org.ua
In order to train the network on your own data set you'll need annotated images with the bounding box labels in the Darknet/YOLO format. It's recommended to prepare such annotations with the ImagesAnnotator tool available at https://github.com/yuriysydor1991/ImagesAnnotator.
Document is under the refinement
The very same sections are also available in Ukrainian under doc/README.uk_UA.md. The whole documentation may also be generated as a browsable HTML site (including the rendered PlantUML class diagrams) with Doxygen - see Documentation build.
- Cloning the C++ template project
- Forking and replacing the origin
- Requirements
- Required tools for the GNU/Linux based OS
- Required tools for the MS Windows based OS
- Optional for the tests
- Optional for the documentation
- Optional for the code formatting
- Optional for the code analyzer (cppcheck)
- Optional for the code analyzer with clang-tidy
- Optional for the memory check with Valgrind
- Optional for the flatpak packager
- Optional for the Docker container runs
- Optional for the snap packager
- Project structure
- Project build
- IDE build
- Command line build
- Enabling testing
- Documentation build
- Configuring the documentation install support
- Enabling and performing code formatting target
- Enabling the static code analyzer target with cppcheck
- Enabling the static code analyzer with clang-tidy
- Enabling the dynamic memory check target with valgrind
- Enabling DEB package generation with cpack
- Enabling the flatpak package generation support
- Enabling the Docker container build and run
- Enabling sanitizers
- Enabling the libcurl
- Enabling gprof profiler analysis
- Enabling vagrind's callgrind profiler analysis
- Enabling Jenkins pipeline inside Docker container
- Enabling the nlohmann json library
- Enabling the snap packager
- Enabling FreeBSD pkg package generation with cpack
- Enabling WIX MSI package generation with cpack
- Enabling RPM package generation with cpack
- Enabling the zlib library
- Enabling the libpng library
- Enabling the libjpeg library
- Enabling the libwebp library
- Enabling the lunasvg library (SVG)
- Enabling the giflib library (GIF)
- Enabling the libtiff library (TIFF)
- Enabling the OpenEXR library (EXR / HDR)
- Enabling the OpenJPEG library (JPEG 2000)
- Enabling the libavif library (AVIF)
- Enabling the libheif library (HEIF/HEIC)
- Run the executable
- Installing