linux下配置运行yolov4!亲测有效!

本文详细介绍了如何在CUDA 10.0环境下,利用CUDNN和OpenCV配置YoloV4目标检测系统。从下载源码、编译修正错误到测试实例,以及如何获取并使用权重文件,最后展示了YoloV3与YoloV4的检测效果对比。
部署运行你感兴趣的模型镜像

 

 

基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4

(cuda,cudnn多版本安装及使用,参考:https://blog.youkuaiyun.com/ly_twt/article/details/104905417)

一、下载yolov4

git clone https://github.com/AlexeyAB/darknet.git

二、编译

# cd到darknet目录下
make
或者 make -j8

编译过程中可能会出现以下错误:

error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

Makefile:162: recipe for target 'obj/network.o' failed

原因:

这是因为gcc是基于c89标准,不能直接在for循环中初始化增量。而C99标准可以在for循环内定义变量。

解决方法:

打开darknet/src/network.c,使用Ctrl+F搜索network_predict_batch函数,找到函数中的for循环:

将for循环中int batch=0改成batch=0,并在for循环前加上int batch;如图:

三、测试

./darknet

若出现下图,则说明编译成功:

四、下载yolov4权重文件

(需要外网)https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

(也可以私聊我取权重文件)

下载好后,将yolov3.weights复制到darknet目录下。

五、测试实例

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

执行结束后,会在darknet目录下生成一幅图片,即为检测结果。

yolov3检测效果:

yolov4检测效果:(秀的一批)

 

 

***************************补充******************************

如果你想使用gpu,cudnn,opencv等,那就需要在编译前修改Makefile中的相关配置。如果没有没有修改,已经编译完了,再想修改,就在darknet目录下,进行make clean。然后修改Makefile配置文件,再次进行编译即可。

(注:只有使用了opencv才可以在检测完成时出现检测图片,如果没有使用opencv,检测结果是不会自动弹出的。)

 

六、训练

训练以及测试马上更新。。。。。。

训练测试已更新:https://blog.youkuaiyun.com/ly_twt/article/details/105761312

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

Linux系统上运行YOLOv8模型需要完成以下几个步骤,包括安装必要的依赖项、下载YOLOv8模型以及执行推理或训练任务。 ### 安装依赖 首先,确保你的Linux系统上已经安装了Python和pip。然后使用pip安装Ultralytics库和其他必要的软件包: ```bash pip install ultralytics opencv-python ``` 如果计划利用GPU加速,还需要安装CUDA Toolkit和相应的驱动程序。例如,可以按照如下命令安装CUDA 11.8: ```bash wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run ``` 接着,安装PyTorch的GPU版本以支持CUDA: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 ``` ### 下载YOLOv8模型 可以通过Ultralytics提供的API直接下载预训练的YOLOv8模型。以下是一个简单的示例,展示如何下载并加载一个YOLOv8模型[^1]: ```python from ultralytics import YOLO # 加载预训练的YOLOv8n模型 model = YOLO("yolov8n.pt") ``` ### 运行模型 一旦模型被加载,就可以使用它对图像、视频或者实时流进行预。对于实时视频流,可以使用如下的TCP流方式启动摄像头服务,并通过YOLOv8模型处理该流: ```bash rpicam-vid -n -t 0 --inline --listen -o tcp://127.0.0.1:8888 ``` 然后,在Python脚本中读取这个TCP流并进行对象检: ```python results = model("tcp://127.0.0.1:8888") # 对来自指定地址的视频流进行预 ``` ### 训练模型(可选) 如果你希望进一步微调模型,可以使用自己的数据集来训练模型。这通常涉及准备数据集、定义配置文件以及调用训练函数。具体细节可以根据Ultralytics文档中的指导进行操作。 ### 注意事项 - 确保所有路径都是正确的,并且与你的实际环境相匹配。 - 如果遇到任何问题,请查阅Ultralytics GitHub仓库的issue部分,那里可能已经有了解决方案。 - 保持软件更新,尤其是对于像CUDA这样的关键组件,因为新版本可能会带来性能改进和错误修复。
评论 27
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值