pythonmachine-learningyoloyolov8darknet

Roboflow Vs. Darknet for generating weight file and creating the model


I have a YoloV8 data file format that is an annotation of data (images) done manually. What is the most effective and straightforward way of generating a model and therefore yielding the weights file? is it using darknet through the command:

darknet.exe detector train data/obj.data yolo-obj.cfg backup\yolo-obj_2000.weights

then something like the following to generate the associate model:

python tools/model_converter/convert.py cfg/yolov3.cfg weights/yolov3.weights weights/yolov3.h5

Or using Roboflow through:

version.deploy(model_type="yolov8", model_path=f”{HOME}/runs/detect/train/”)

Seems to me darknet is more difficult to install.


Solution

  • The build and installation steps for darknet are very well documented. Make sure you are using the most recent version of Darknet/YOLO: https://github.com/hank-ai/darknet#table-of-contents

    If you find the steps difficult or lacking in any way, please let me know on the Darknet/YOLO discord server so I can fix or better document whatever you didn't understand: https://discord.gg/zSq8rtW

    Note the recommended training command on the repo and in the Darknet/YOLO FAQ (https://www.ccoderun.ca/programming/yolo_faq/#training_command) is not exactly the command you state.

    1. You left out the very critical parameter -map
    2. You wouldn't normally specify the weights file yolo-obj_2000.weights unless you are resuming training from the 2000th iteration.

    Make sure you understand the license difference between v8-9-10, and the completely free and open-source license of Darknet/YOLO.

    Lastly, you may want to see this recent video which compares some of the more recent versions of YOLO against the original Darknet/YOLO: https://www.youtube.com/watch?v=2Mq23LFv1aM

    Disclaimer: I maintain the Darknet/YOLO codebase. I'm the author of tools such as DarkHelp and DarkMark.