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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

caffe下matlab、python的配置和faster RCNN的运行

發(fā)布時(shí)間:2024/7/23 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 caffe下matlab、python的配置和faster RCNN的运行 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

因?yàn)樽约旱碾娔X沒(méi)有安裝linux環(huán)境,顯卡也不支持CUDA,所以在實(shí)現(xiàn)faster RCNN的demo的過(guò)程中還是很麻煩的。

完善項(xiàng)目文件

下圖是vs2013 打開(kāi)的caffe解決方案的工程目錄。由于windows版本caffe的不完善,要先在其libcaffe項(xiàng)目中添加roi_poling層的相關(guān)支持。(Fast R-CNN的ROIPooling層需要這個(gè)源文件編譯)

具體做法是對(duì)cu&include&src下的layers右鍵,添加現(xiàn)有的項(xiàng),分別添加的是roi_pooling_layer對(duì)應(yīng)的.cu/.hpp/.cpp文件。其中.cu和.cpp文件在caffe安裝根目錄src/caffe/layers下。.hpp在include/caffe/layers下。

P.s:Caffe中的.cu文件,是交給nvcc編譯的c++源文件,可以編譯成cpu指令或者GPU指令。

修改屬性表

在commonSettings.props中修改屬性。為了配置caffe的接口,需要在屬性表中把python版編譯接口打開(kāi),并且指出anaconda2的路徑。這兩行分別在屬性表的13行和第48行。

好幾個(gè)博客都使用的是anaconda2的python安裝包,而caffe中默認(rèn)的是Miniconda2(僅包含conda和 Python)。Anaconda是一個(gè)開(kāi)源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),anaconda2對(duì)應(yīng)Python2版本。對(duì)比之下,pycharm、spyder是IDE,可以調(diào)試,代碼高亮,項(xiàng)目管理等。因?yàn)閜ython是解釋型的語(yǔ)言,pycharm在新建項(xiàng)目的時(shí)候就需要指定interpreter,而這個(gè)解釋器就可以是anaconda下的python.exe。而在anaconda之中也集成了IDE:jupyter notebook。

從清華大學(xué)鏡像站下載anaconda,https://repo.continuum.io/archive/Anaconda2-4.2.0-Windows-x86_64.exe

(千萬(wàn)要下載支持python2.7的anaconda2,不然后面會(huì)遇到找不到python27.lib)去編譯Release版本的pycaffe,好像如果編譯Debug版本會(huì)出現(xiàn)python27_d.lib找不到什么的。

Matlab也一樣,除了打開(kāi)matlabsupport,還需要修改matlab.exe路徑和mxGPUArray.h所在include路徑。新版matlab的mxGPUArray.h位置改動(dòng)了,可以將新位置放在includePath之中,也可以將頭文件復(fù)制到默認(rèn)的includePath處。

重新編譯

在Build/x64/Release下得到pycaffe文件夾和 matcaffe文件夾。

Pycaffe:

Matcaffe:編譯過(guò)程中遇到了頭文件martix.h找不到的情況,把絕對(duì)路徑include進(jìn)去就好了。還遇到了無(wú)法打開(kāi)libmx.lib的問(wèn)題,在項(xiàng)目屬性中添加庫(kù)目錄。

python中安裝caffe包

將編譯生成的pycaffe中的caffe文件夾拷貝到D:\Program Files\Anaconda2\Lib\site-packages中

在cmd中進(jìn)入python命令行,然后import caffe,會(huì)出現(xiàn)下面問(wèn)題


因?yàn)閏++版本中生成的NugetPackages里面包含了依賴項(xiàng)opencv,protobuf等,而python版本還沒(méi)有。解決辦法是退出python,在cmd中conda install protobuf/pip install protobuf,安裝成功之后重新import caffe,沒(méi)有報(bào)錯(cuò)。

驗(yàn)證

使用的實(shí)例是Texture Synthesis with Convolutional Neural Networks這篇論文的代碼,主要實(shí)現(xiàn)的是利用噪聲生成一張真實(shí)圖片。下載,解壓github上的源碼https://github.com/leongatys/DeepTextures

在cmd中cd到解壓目錄,輸入jupyter notebook

可以在localhost:8888/中得到j(luò)upyter notebook,顧名思義,這是一個(gè)web型的交互式筆記本。顯示當(dāng)前文件夾中的文件。

點(diǎn)擊example.ipynb,shift+enter逐步調(diào)試.

出現(xiàn)了python.exe停止運(yùn)行等錯(cuò)誤,中斷發(fā)現(xiàn)應(yīng)該是GPU不支持的問(wèn)題,在cmd中的提示驗(yàn)證了這個(gè)猜想:

按照下面代碼把模式改成CPU:

#if cpu mode we should not call,below 3 line of code is just for using GPU mode. #gpu = 0 #caffe.set_mode_gpu() #caffe.set_device(gpu)

在鏈接1中是將代碼寫(xiě)在一個(gè)py文件中一次性運(yùn)行,而且因?yàn)椴皇窃诮鈮何募夸浵麓蜷_(kāi)jupyter notebook,用了絕對(duì)路徑。但是不管是分步運(yùn)行還是一次性運(yùn)行,都沒(méi)有報(bào)錯(cuò),都沒(méi)有圖像生成,理論上應(yīng)該生成代碼給的參考圖像才對(duì)。現(xiàn)在還不知道怎么回事。

我懷疑是我除了anaconda2還安裝了一個(gè)python,所以運(yùn)行notebook的時(shí)候有兩個(gè)kernels found,于是用pycharm新建了一個(gè)project,選擇anaconda2下的python.exe作為interpreter,但是顯示找不到caffe等:


Faster rcnn

Python版本的caffe和faster rcnn(鏈接3):

下載py-faster-rcnn,地址:https://github.com/rbgirshick/py-faster-rcnn

針對(duì)windows環(huán)境,替換py-faster-rcnn中的lib)https://github.com/MrGF/py-faster-rcnn-windows將其中的文件復(fù)制進(jìn)py-faster-rcnn進(jìn)行替換。

替換后,在py-faster-rcnn根目錄—lib—rpn路徑下,編輯proposal_layer.py:

將Caffe根目錄—Build文件夾下,找到生成的pycaffe,將其中的caffe文件夾整體復(fù)制到py-faster-rcnn根目錄—caffe-fast-rcnn—python文件夾下。如果是用Download ZIP(因?yàn)槲覀円呀?jīng)有了Caffe-Microsoft),在py-faster-rcnn的caffe-faster-rcnn下單獨(dú)創(chuàng)建python文件夾,再將生成的pycaffe下的caffe拷貝進(jìn)來(lái)。官方推薦用命令遞歸下載,遞歸的意思是initialize submodules in the clone,自動(dòng)初始化并更新倉(cāng)庫(kù)中的每一個(gè)子模塊:

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

Matlab版本的caffe+faster rcnn(鏈接4)

按照參考操作就可以了,需要注意的是要下載的是matlab版本的faster rcnn,解壓應(yīng)該在faster-rcnn-master/experiment下。

需要針對(duì)cpu-only的環(huán)境修改代碼。因?yàn)椴挥肎PU,所以還需要選擇網(wǎng)絡(luò)較小的zf-5,而不是很大的VGG-16.這兩個(gè)網(wǎng)絡(luò)的model在output文件夾下面。

我遇到的問(wèn)題是:

先是出現(xiàn)invalid mex-file,添加了vs的dll文件在m文件目錄下,將build/x64/release路徑添加到系統(tǒng)環(huán)境變量。

然后出現(xiàn)了load使用錯(cuò)誤的原因,其實(shí)是model文件和測(cè)試圖片的路徑錯(cuò)了,按照提示改一下就好了。

下面是demo自帶圖像的測(cè)試結(jié)果:


Reference:

1.????? 下載anaconda2:https://www.cnblogs.com/billyzh/p/6307716.html

2.??????Jupyter:https://blog.csdn.net/zb1165048017/article/details/52980102

3.??????Py Faster RCNN:https://blog.csdn.net/u011185952/article/details/71079038

4.??????Mat faster rcnn:https://blog.csdn.net/mr_curry/article/details/54745116

5.??????翻墻獲取faster_rcnn_models:https://blog.csdn.net/hongbin_xu/article/details/76100132

6.??????修改setup.py到CPU:http://www.caffecn.cn/?/question/13


創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的caffe下matlab、python的配置和faster RCNN的运行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。