日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu 16.04下Caffe-SSD的应用(一)——编译Caffe-SSD的CPU版本与GPU版本

發布時間:2025/3/21 Ubuntu 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu 16.04下Caffe-SSD的应用(一)——编译Caffe-SSD的CPU版本与GPU版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

1.之前用過Caffe的GooglNet做圖像分類的相關項目,比起傳統的辦法,效果要好很多,在目標檢測這塊,之前也用傳統的HOG加SVM實現過車輛,行人和馬匹的檢測,但正樣本要上萬張圖像,才達到能應用到項目上的準確率。
2.Caffe-SDD微軟的一個深度學習框架,SSD全稱:Single Shot MultiBox Detector 是目前為止主要的目標檢測算法。接下來我會把Caffe-SSD的編譯配置、標注圖像、訓練自己模型、在項目中使用自己的整個流程寫下來。
3.我配置的環境是Ubuntu 16.04 LST 64位,Qt5.9,Python2.7,如果只跑CPU版本,就不用配置CUDA庫。
4.要使用GPU加速的話,就要安裝顯卡驅動與cuda,cudnn,是于安裝辦法請參考我后面給的教程。顯卡:https://blog.csdn.net/matt45m/article/details/90247294 ,cuda與cudnn:https://blog.csdn.net/matt45m/article/details/90298040 。

一、環境配置

1.編譯前的預操作

sudo apt-get update #更新軟件列表 sudo apt-get upgrade #更新軟件依賴包 sudo apt-get install build-essential #編譯工具,通常已安裝 sudo apt-get install cmake #安裝cmake sudo apt-get install git #安裝git sudo apt-get install pkg-config #編譯輔助工具,

2.前置依賴包

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev #安裝gflags和glog依賴包 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev #ATLAS是線性代數庫

3.配置python
(1)安裝python相關庫

sudo apt-get install python-pip #安裝pip sudo apt-get install python-dev cat python/requirements.txt | xargs -L 1 sudo pip install

(2)添加軟鏈接

sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7 sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy

4.獲取caffe-ssd版本
(1)下載caffe

mkdir caffe cd caffe git clone https://github.com/weiliu89/caffe.git

開始下載caffe

(2)在當前目錄ls會看到caffe這個文件夾,切換到caffe目錄

更改文件夾名為caffe-sss

mv caffe caffe_ssd


切換到caffe-ssd目錄

cd caffe_ssd

(3)切換到SSD分支

git checkout ssd

如果出現:Branch ssd set up to track remote branch ssd from origin.
Switched to a new branch ‘ssd’,或者“分支"代表成功。

5.更改配置文件Makefile.config

cp Makefile.config.example Makefile.config #復制配置文件并把后綴去掉 vim Makefile.config #用vim打開配置文件

如果用不習慣vim,可以換成gedit打開配置文件

gedit Makefile.config

(1)打開后,如果只使用CPU,把CPU_ONLY:=1打開。

只用cpu更改

#CPU_ONLY:=1

去掉#改成

CPU_ONLY:=1

(2)如果使用GPU,把USE_CUDNN打開。

(3)更改python 相關的路徑

PYTHON_INCLUDE := /usr/include/python2.7 \/usr/lib/python2.7/dist-packages/numpy/core/include

把前面的那句用#號注示掉,加上下面這句

PYTHON_INCLUDE := /usr/include/python2.7 \/usr/local/lib/python2.7/dist-packages/numpy/core/include


(4)加入hdf5的目錄

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改為:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial


6.修改Makefile文件(注意與下面文件的區別)

打開Makefile文件,這里沒有后綴

gedit Makefile


找到:

LIBRARIES += glog gflags protobuf boost_system boost_filesystem boost_regex m hdf5_hl hdf5

改為:

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial


找到:

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

改成

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)


找到:

LIBRARIES += boost_thread stdc++

修改為:

LIBRARIES += boost_thread stdc++ boost_regex

二、編譯Caffe-SSD

1.編譯caffe caffe
(1)開始編譯,切換到caffe-ssd目錄,make all -j8后面j8是說明使用8個線程一起編譯,這樣速度會快一些,如是計算機配置不好,只輸入make all 就行了,下面有j8的命令是一樣的。

cd caffe-ssd make all -j8

(2)編譯過程中報錯

AR -o .build_release/lib/libcaffe.a LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: 找不到 -lopenblas collect2: error: ld returned 1 exit status Makefile:574: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1


解決方法:

sudo apt-get install liblapack-dev liblapack3 libopenblas-base libopenblas-dev

然后清除重新編譯:

make clean make all -j8

沒有報錯

(3)繼續編譯

make test -j8 make runtest -j8


(4)編譯pycaffe

make pycaffe -j8 CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 沒有那個文件或目錄 compilation terminated. Makefile:504: recipe for target 'python/caffe/_caffe.so' failed make: *** [python/caffe/_caffe.so] Error 1


這個我在前面裝過,但提示沒有,一種可能是路徑不對,查看路徑

python import numpy as np np.get_include()

可以看到安裝的路徑

去Makefile.config文件把對應的路徑改成顯示出來的這個。
(5)檢驗python中import caffe是否報錯:

python import caffe

(6)如果報如下錯誤

Traceback (most recent call last):File "<stdin>", line 1, in <module> ImportError: No module named caffe

解決辦法:
把環境變量路徑放到 ~/.bashrc文件中,打開文件(注意,這時還是當時caffe編譯的路徑,不用切換)

sudo gedit ~/.bashrc

在文件下方寫入,保存退出。

export PYTHONPATH=/home/*XXXX* /caffe/python:$PYTHONPATH #其中XXXX為你的用戶名


在終端寫入下面語句,使環境變量生效。

source ~/.bashrc

(7)繼續輸入import caffe如果報以下錯誤

Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/home/matt/caffe-ssd/python/caffe/__init__.py", line 1, in <module>from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolverFile "/home/matt/caffe-ssd/python/caffe/pycaffe.py", line 15, in <module>import caffe.ioFile "/home/matt/caffe-ssd/python/caffe/io.py", line 2, in <module>import skimage.io ImportError: No module named skimage.io

在終端輸入:

sudo apt-get install python-skimage

(8)報以下錯誤

Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/home/linux/caffe/caffe_ssd/python/caffe/__init__.py", line 1, in <module>from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolverFile "/home/linux/caffe/caffe_ssd/python/caffe/pycaffe.py", line 15, in <module>import caffe.ioFile "/home/linux/caffe/caffe_ssd/python/caffe/io.py", line 8, in <module>from caffe.proto import caffe_pb2File "/home/linux/caffe/caffe_ssd/python/caffe/proto/caffe_pb2.py", line 6, in <module>from google.protobuf.internal import enum_type_wrapper ImportError: No module named google.protobuf.internal

在終端輸入

sudo apt-get install python-protobuf

(8)如果沒有報錯,Caffe-SSD配置完成。

結語

1.以上Caffe-SSD在Ubuntu下配置完成,之后就是如何應用Caffe-SSD做相關的訓練和學習了。
2.關于Caffe-SSD配置遇到的問題,都可以加這個群(487350510)互相討論學習。

總結

以上是生活随笔為你收集整理的Ubuntu 16.04下Caffe-SSD的应用(一)——编译Caffe-SSD的CPU版本与GPU版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩欧美亚洲 | 国产亚洲精品久久久久丝瓜 | 伊人久久视频 | 四虎视频国产精品免费 | 午夜精品久久久久久久99热黄桃 | 久99| 国产淫语对白 | 欧美国产精品一二三 | 中国女人内谢69xxxx | 精品日本一区二区三区 | 精品国产一区二区三区av性色 | 国产精品电影网 | 女性女同性aⅴ免费观女性恋 | 国产一久久| 成人免费毛片果冻 | 亚洲免费av一区 | 国产精品乱码久久久久久久久 | 日本美女一级片 | 美女131爽爽爽做爰视频 | 欧美区一区 | 亚洲黄在线| 午夜视频精品 | 91久久精品无码一区二区 | 黄色三级在线 | 日韩城人网站 | 9.1在线观看免费 | 视频一区国产 | 18视频在线观看娇喘 | 国产精品久久久久久影视 | 大乳女喂男人吃奶视频 | av女优一区 | 久久久综合色 | 视频在线一区二区三区 | 日本精品免费一区二区三区 | 日韩成人区 | 国产成人精品免高潮费视频 | 26uuu国产| 日本美女一区二区三区 | 亚洲一区电影网 | 午夜精品福利一区二区 | 最近2018年手机中文字幕版 | 欧美日韩五区 | 亚洲一区二区黄片 | 欧美黄色片| 日本午夜小视频 | 中文字幕综合在线 | 国产一二三四在线 | 中文字幕成人在线 | 一区二区三区欧美日韩 | 亚洲综合色视频 | 色婷婷激情av | 久久精品99久久久久久久久 | 欧美黑人多人双交 | 亚洲生活片 | 中日韩中文字幕一区二区 | 山外人精品影院 | 日韩视频一区二区三区 | 欧美黑人性生活 | 欧美色图88 | 蜜桃久久久 | 欧美激情亚洲激情 | 中文字幕久久精品 | 欧美一级性生活视频 | 一区二区三区视频网站 | 爆操91 | 成人精品三级av在线看 | 国产精品水嫩水嫩 | 日韩三级一区二区 | 成人av毛片 | 日韩欧美一区二区在线观看 | 亚洲精品国产av | 成人av一区二区在线观看 | 国产福利午夜 | 国产亚洲精品久久久久久777 | 久久亚洲精品中文字幕 | 色婷婷在线播放 | 欧洲中文字幕日韩精品成人 | 熟女视频一区 | 91羞羞网站 | 青青精品 | 日本高清有码视频 | 久久久中文 | 亚洲国产精品一区二区三区 | 17c国产精品 | 欧美日韩在线视频免费播放 | 一区二区视频免费观看 | 蜜桃成人无码区免费视频网站 | 日本不卡在线播放 | 毛片网站在线观看 | 潘金莲裸体一级淫片视频 | 中文字幕精品国产 | 一区二区三区在线免费视频 | 一本色道久久亚洲综合精品蜜桃 | 国产区一区二区 | 亚洲天堂手机在线 | 日韩丰满少妇 | 羞羞的网站在线观看 | 午夜老司机福利 | 欧美一性一乱一交一视频 |