YOLO学习-3:ubuntu16.04+ yolov3(darknet)+GPU(nvidia 1080ti)+opencv2.4.11 摄像头测试实践
一 硬件條件:工作站 大版本主機(jī) +4塊 invidia? 1080ti的gpu? 實(shí)際測(cè)試,只能用一個(gè),不知道四個(gè)都用的話如何設(shè)置,有知道的請(qǐng)告訴一下。
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpgdetect后 -i 0?? 或-i 1 等數(shù)字是gpu編號(hào)
?
二 操作系統(tǒng) ubuntu 16.04
?
三 根據(jù)gpu型號(hào)安裝對(duì)應(yīng)版本的驅(qū)動(dòng)程序/cuda版本/cudnn配置等,去nvidia官網(wǎng)或技術(shù)論壇
?
四/ yolov3安裝,參考官網(wǎng)darknet的安裝 https://pjreddie.com/darknet/yolo/
?
五/ 安裝opencv,如果是大于3.0的版本,編譯會(huì)出錯(cuò),好象是darknet源代碼中 image_opencv.cpp 中的mat類型轉(zhuǎn)image會(huì)報(bào)錯(cuò)
?
六/基于五的解決方案是安裝darknet當(dāng)年編寫(xiě)時(shí)間前的opencv版本, 測(cè)試使用opencv2.4.11版本
------ 問(wèn)題1: 官網(wǎng)給的版本安裝會(huì)報(bào)錯(cuò)。找了一個(gè)熱心網(wǎng)友改得版本,親測(cè)可用。
???????? https://blog.csdn.net/ljl1015ljl/article/details/100749835
??????? 給出的百度網(wǎng)盤(pán):鏈接: https://pan.baidu.com/s/19AaTZUMqCanJFHU2tAGetw 提取碼: ph4w
?????? ///以下是博客中內(nèi)容
-
下載的opencv2.4.11源碼
-
然后按著網(wǎng)上教程 修改了opencv的源代碼
-
sudo apt-get install libopencv-dev
-
修改/data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp
將
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改為
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000) -
在usr/local下創(chuàng)建一個(gè)文件夾opencv2.4.11
不能直接創(chuàng)建,用root創(chuàng)建 不然沒(méi)權(quán)限
如果不創(chuàng)建的話,自己改一下下面cmake語(yǔ)句中安裝的位置 -
解析
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2.4.11 -D WITH_CUDA=ON -D BUILD_PYTHON_SUPPORT=ON -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON ..
opencv-2.4.11/build/lib/libopencv_highgui.so.2.4.11: undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0
這個(gè)錯(cuò)誤 就是 后面編譯其他項(xiàng)目會(huì)遇到這個(gè)錯(cuò)誤,然后重新編譯opencv 在cmake時(shí),在后面加一句 -D BUILD_TIFF=ON ,這樣tiff就會(huì)在編譯opencv時(shí)自動(dòng)編譯好 -
編譯 make -j8
-
sudo make install
-
在 sudo gedit ~/.bashrc 文件后面添加以下兩行
export PKG_CONFIG_PATH=/usr/local/opencv2.4.11/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv2.4.11/lib然后保存修改 source ~/.bashrc
這樣 pkg-config --modversion opencv -
/以上是博客轉(zhuǎn)載內(nèi)容
-----------??? 按照上述方法安裝好opencv2.4.11后,取darknet目錄 修改makefile文件? gpu=1 opencv=1 cuda=1等。
--------------?? 執(zhí)行make一般能成功。
?
七 運(yùn)行時(shí)可能會(huì)報(bào)錯(cuò)
------------在ubuntu下編譯opencv程序后,執(zhí)行報(bào)下面到錯(cuò)誤:
error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
解決方法:找到libopencv_開(kāi)頭到庫(kù)的目錄,在/usr/local/lib下面,在/etc/ld.so.conf.d/下面新建一個(gè)opencv.conf,里面寫(xiě)入/usr/local/lib,最后執(zhí)行下sudo ldconfig -v即可。
???????????? https://blog.csdn.net/eric41050808/article/details/53673623
------------------ ./darknet: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file:
libcudart.so.8.0 不能找到?
是庫(kù)文件路徑引發(fā)的問(wèn)題,可以到/etc/ld.so.conf.d目錄下,修改其中任意一份conf文件,(可以自建conf,以方便識(shí)別)將lib所在目錄寫(xiě)進(jìn)去,然后在終端輸入 ldconfig 更新緩存。
本文該lib文件在/usr/local/cuda/lib64下,因此在/etc/ld.so.conf.d 創(chuàng)建了一個(gè)cuda.conf 文件,并加入/usr/local/cuda/lib64 內(nèi)容,保存退出。
最后執(zhí)行:sudo ldconfig 使文件生效
https://blog.csdn.net/qq_34570910/article/details/80841571
總結(jié)
以上是生活随笔為你收集整理的YOLO学习-3:ubuntu16.04+ yolov3(darknet)+GPU(nvidia 1080ti)+opencv2.4.11 摄像头测试实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SLAM学习--2D激光SLAM-圣经-
- 下一篇: ORB SLAM学习--跑自己数据集图片