Darknet – A neural network framework written in C and CUDA
github.com
github.com
The original repo isn't really updated, and while AlexyAB's fork is much improved, it's still a pain to use.
- If you make mistakes, things fail silently. This is by far the biggest problem. Train/test is difficult to get right because it's very difficult to figure out where exactly you've messed up.
- Support for images is arbitrary. Although you can compile with OpenCV, there are internal glob functions which simply ignore certain image types (I had to recompile it with support for TIFF, for example).
- Bounding boxes are stored in an awkward format, which is easy to get wrong. It's referenced to the centre of the box, stored as a fraction of the image width.
- Logging is very basic. Alexey added a loss graph, but that's about it. If you restart training from a checkpoint, you only get a loss curve from where you restarted.
- Retraining on your own data can seem like dark magic. There's a lot of "copy this config file and edit these numbers" and if you get it wrong, you've wasted a day training.
If you need to use Yolo, I'd recommend looking at reimplementations in more mature frameworks like pytorch (e.g. https://eavise.gitlab.io/lightnet/)
Anybody remember the resume with the ponies?
"THIS SOFTWARE LICENSE IS PROVIDED "ALL CAPS" SO THAT YOU KNOW IT IS SUPER SERIOUS AND YOU DON'T MESS AROUND WITH COPYRIGHT LAW BECAUSE YOU WILL GET IN TROUBLE"
A particular favourite: https://www.youtube.com/watch?v=VOC3huqHrss
It apparently lacks any ergonomic scripting language bindings, which makes experimentation harder (than with tensorflow).
Or, if it does, it should list them right in the readme.