文章目錄
- 前言
- 問題1
- 問題2
- 問題3
- 問題4
前言
最近這段時間在Ubuntu試YOLOV4,在訓練程序中遇到了許多問題,對其進行了總結,
問題1
/usr/local/cuda/include/cudnn.h:61:10: fatal error: cudnn_ops_infer.h: No such file or directory
#include “cudnn_ops_infer.h”
^~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:182: recipe for target ‘obj/image_opencv.o’ failed
make: *** [obj/image_opencv.o] Error 1

解決方案:這是cuDNN沒有配置好的原因,推薦卸載cuDNN然后采用deb的方式安裝,tgz安裝即使查版本號能顯示,但可能還是沒有完全裝上,
問題2
./src/image_opencv.cpp:16:10: fatal error: opencv2/core/version.hpp: No such file or directory
#include <opencv2/core/version.hpp>

解決方案:這是因為你Makefile opencv設定為了1,但是你并沒有安裝c++的opencv

具體安裝流程可以參考----》這個
問題3
Bus error(coredumped)
網上我看別人訓練YOLOV4時,這個問題的描述幾乎沒有,也是研究了很久才解決這個坑,還是cuda環境配置問題,環境配置太重要了

解決方案:可以將這三個設定為0,重新make ,如果可以正常用cpu訓練,則就是cuda 環境配置問題,我是直接卸載了cuda,和cudnn重新配置了一下,發現就能呼叫GPU訓練了,

還有makefile里面的路徑一定要調對,可以參照我的

原來的Makefile是直接nvcc = nvcc
要修改為NVCC=/usr/local/cuda/bin/nvcc


如果還是不行,將上圖中路徑里的cuda改為(cuda-版本號)例如:/local/cuda-10.2/lib
問題4
CUDA error: no kernel image is available for execution on the device
Segmentation fault(core dumped)

解決方案:算力引數需要按照你自己顯卡來調節,改ARCH,按照他提供的參考,直接復制黏貼替換原來的位置,(我的顯卡是1650ti,所以選擇的是1050,1060那區間的引數)


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337842.html
標籤:其他
下一篇:undefined reference to `cv::VideoCapture::VideoCapture()
