darknet运行出现的问题

常用命令记录

./darknet detector test <data_cfg> <models_cfg> <weights> <test_file> [-thresh] [-out]
./darknet detector train <data_cfg> <models_cfg> <weights> [-thresh] [-gpu] [-gpus] [-clear]
./darknet detector valid <data_cfg> <models_cfg> <weights> [-out] [-thresh]
./darknet detector recall <data_cfg> <models_cfg> <weights> [-thresh]

'<>'必选项,’[ ]‘可选项

data_cfg:数据配置文件,eg:cfg/voc.data

models_cfg:模型配置文件,eg:cfg/yolov3-voc.cfg

weights:权重配置文件,eg:weights/yolov3.weights

test_file:测试文件,eg://*/test.txt

-thresh:显示被检测物体中confidence大于等于 [-thresh] 的bounding-box,默认0.005

-out:输出文件名称,默认路径为results文件夹下,eg:-out “” //输出class_num个文件,文件名为class_name.txt;若不选择此选项,则默认输出文件名为comp4_det_test_“class_name”.txt

-i/-gpu:指定单个gpu,默认为0,eg:-gpu 2

-gpus:指定多个gpu,默认为0,eg:-gpus 0,1,2

正常情况下,很多时候都是直接使用预训练模型进行训练

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74

操作问题

运行时ctrl+c停止运行,有时候操作会误停

如果出现意外还可以继续使用之前运行保存的.backup文件进行训练

./darknet detector train cfg/coco.data cfg/yolov3.cfg backup/yolov3.backup

如果加上-clear 则模型会从初始状态开始

./darknet detector train cfg/coco.data cfg/yolov3.cfg backup/yolov3.backup -clear

运行问题

./darknet: error while loading shared libraries: libcudnn.so.8: cannot open
cudnn.h:60:10: fatal error: cudnn_version.h: 没有那个文件或目录%20%20 60 | #

之前的cmd运行是

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* 

现在应该重新运行

sudo cp cuda/include/cudnn*.h /usr/local/cuda/include  
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64  
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* 

参照链接:
https://github.com/pjreddie/darknet/issues/2356
https://blog.csdn.net/xgd2016/article/details/107480633

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在OpenCV中运行Darknet需要遵循以下步骤: 1. 首先,需要下载并安装Darknet。可以从Darknet的官方网站上下载源代码,并按照其指导进行编译和安装。确保在编译Darknet时启用了OpenCV支持,以便在OpenCV中调用Darknet。 2. 安装完成后,在OpenCV代码中添加对Darknet的引用。可以使用以下代码在OpenCV中引用Darknet: ```cpp extern "C" { #include "darknet.h" } ``` 这将使OpenCV能够调用Darknet的函数和结构体。 3. 接下来,需要加载Darknet的预训练模型和配置文件。可以使用以下代码加载模型和配置文件: ```cpp char *cfg_file = "path/to/yolov3.cfg"; char *weights_file = "path/to/yolov3.weights"; char *names_file = "path/to/coco.names"; network *net = load_network(cfg_file, weights_file, 0); set_batch_network(net, 1); list *options = read_data_cfg(cfg_file); char *name_list = option_find_str(options, "names", names_file); char **names = get_labels(name_list); ``` 其中,"cfg_file"是Darknet的配置文件路径,"weights_file"是Darknet的权重文件路径,"names_file"是Darknet的类别名称文件路径。这些文件可以在Darknet的源代码中找到。 4. 加载模型和配置文件后,就可以使用Darknet进行物体检测了。可以使用以下代码在OpenCV中调用Darknet进行物体检测: ```cpp Mat image = imread("path/to/image.jpg"); sized img = make_image(image.cols, image.rows, image.channels()); ipl_into_image(image.data, image.cols, image.rows, image.channels(), img); float *predictions = network_predict(net, img.data); detection *dets = get_network_boxes(net, img.w, img.h, 0.5, 0.5, NULL, 0, NULL); draw_detections(image, dets, l.side*l.side*l.n, 0.5, names, NULL); ``` 这将使用Darknet对一张图像进行物体检测,并在图像上绘制检测结果。 需要注意的是,这只是在OpenCV中运行Darknet的基本步骤,具体实现可能因具体应用场景而异。如果你需要更多帮助,请参考Darknet和OpenCV的文档或社区,或者联系它们的开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值