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

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

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows+VS2015编译caffe+py-faster-rcnn

發(fā)布時(shí)間:2024/9/21 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows+VS2015编译caffe+py-faster-rcnn 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前期環(huán)境以及準(zhǔn)備

1、安裝python

在caffe中,python2和python3的接口都有。但frcnn中只能支持python2.7,所以千萬(wàn)不要裝成python3。為了方便,不用自己去pip一大堆庫(kù),我建議安裝anaconda2,里面已經(jīng)安裝了很多第三方的庫(kù)。

另附python,Windows的第三方庫(kù) http://www.lfd.uci.edu/~gohlke/pythonlibs/,里面很全。或許有一些庫(kù)你要去官網(wǎng)上下載。

2、安裝(更新)顯卡驅(qū)動(dòng)和cuda

NVIDIA的顯卡驅(qū)動(dòng)安裝應(yīng)該不用我說(shuō)了吧,到官網(wǎng)上下載吧。我要說(shuō)明一點(diǎn)的是,我的1080ti在安裝顯卡驅(qū)動(dòng)時(shí),說(shuō)和Windows不匹配。怎么解決呢?更新Windows,到官網(wǎng)上下驅(qū)動(dòng),再安裝。成功!還有就是記得更新你的顯卡驅(qū)動(dòng),以防老的驅(qū)動(dòng)不支持cuda。

CUDA安裝的話(huà),也是傻瓜試的安裝。提醒一點(diǎn)的是,不要改變他的安裝路徑,默認(rèn)路徑。然后去NVIDIA的官網(wǎng)上下載cudnn庫(kù),這個(gè)庫(kù)的話(huà)需要去NVIDIA注冊(cè)一個(gè)賬號(hào),然后問(wèn)你用這個(gè)來(lái)完成什么工作之類(lèi)的巴拉巴拉。這個(gè)庫(kù)長(zhǎng)什么樣呢?下載完解壓縮,得到一個(gè)cuda的文件夾,里面有3個(gè)文件夾


然后打開(kāi)你的CUDA文件夾,默認(rèn)路徑是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0


把cudnn庫(kù)里面的3個(gè)文件夾里面的文件,分別加到cuda里面對(duì)應(yīng)的文件夾。

然后打開(kāi)cuda需要編譯的部分,默認(rèn)路徑是C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0


因?yàn)槲矣玫腣S2015,那么我就用打開(kāi)2015的那個(gè),然后改成release運(yùn)行。

至此,顯卡計(jì)算的環(huán)境就搭建完成了。

3、cmake和git

cmake的話(huà),我建議直接下載編譯好的能運(yùn)行的文件(到官網(wǎng)上下載)https://cmake.org/download/,然后解壓文件,把bin的路徑添加到Path中。

git:因?yàn)閒rcnn里面有很多l(xiāng)inux的腳本,你可以不用,但用的話(huà)會(huì)很方便的。所以我建議安裝git。同樣,傻瓜式的安裝,直接到官網(wǎng)上下載。

二、py-faster-rcnn

1、編譯caffe的python接口GPU版本(如果你編譯過(guò)了就不用了)

因?yàn)閒rcnn的編譯過(guò)程用需要用到python的caffe包,所以必須要先編譯一次caffe。如果你已經(jīng)編譯過(guò)caffe的py接口就不用了。

下載微軟的Caffe,git的地址https://github.com/BVLC/caffe/tree/windows

你可以用git直接下載,或者在git的地址里下載,隨便你。

[plain] view plaincopy
  • git?clone?https://github.com/BVLC/caffe.git??
  • cd?caffe??
  • git?checkout?windows??

  • 打開(kāi)caffe\scripts,然后編輯build_win.cmd文件


    第7行的VERSION是你VS的版本,VS2015對(duì)應(yīng)的是14,VS2013對(duì)應(yīng)的應(yīng)該是12;第8行改為0;第9行改為0(如果你不用GPU,那就還是1);13行的python_version是你的python版本,2.x就是2,3.x就是3;24,28行是你的python的安裝目錄,如果你是anaconda就改你的anaconda的目錄,否則就不改。


    同樣69-95行同樣修改。以上2張圖是我的cmake文件配置。

    進(jìn)入caffe\scripts,打開(kāi)cmd,直接執(zhí)行build_win.cmd。注意他會(huì)自動(dòng)下載需要的庫(kù),因?yàn)榉?wù)器呢都不在國(guó)內(nèi),所以我建議掛個(gè)VPN,不然你且等呢吧。

    這樣cmake后呢,python的接口就已經(jīng)編譯好了,不用再編譯一遍了。把caffe\python下的caffe的文件夾copy到python的第三方包的文件夾就ok。

    這樣caffe的python接口就好了,你可以進(jìn)cmd的python試一下import caffe。如果說(shuō),他提示少了什么包,你直接pip這個(gè)包就好了,找不到的話(huà),百度一下就有。但只要你跟著上面我的方法做應(yīng)該不會(huì)出現(xiàn)什么問(wèn)題。

    2、編譯py-faster-rcnn依賴(lài)庫(kù)

    首先呢,我們先去編譯一下frcnn的依賴(lài)庫(kù)。Windows下,不能使用自帶的lib,把自帶的lib刪了,重新下載,這里給出git的地址https://github.com/MrGF/py-faster-rcnn-windows。


    好了,現(xiàn)在你的庫(kù)應(yīng)該長(zhǎng)成這樣,有setup.py和setup_cuda.py。進(jìn)cmd,install這2個(gè)文件。

    現(xiàn)在你肯定會(huì)遇到問(wèn)題,提示你VC版本不對(duì)

    怎么辦呢,先set一下:輸入SET VS90COMNTOOLS=%VS140COMNTOOLS%VS后面的數(shù)字就是你的版本。還有不要忘了把你VS的c1.exe加到path下



    編譯好frcnn的依賴(lài)庫(kù)后,應(yīng)該是這個(gè)樣子的。

    3、給caffe加frcnn的層

    現(xiàn)在,我們?cè)傧螺d一個(gè)caffe,跟前面一樣,把build_win.cmd進(jìn)行修改。然后我們就可以把frcnn的一些特有的層加到caffe里編譯了。

    1)添加層和文件

    ???? 打開(kāi)py-faster-rcnn\caffe-fast-rcnn\src\caffe\layers文件夾,找到4個(gè)文件分別為


    ?? 然后copy到你新的caffe的對(duì)應(yīng)文件夾caffe\src\caffe\layers里。

    ?? 接著我們添加頭文件,打開(kāi)py-faster-rcnn\caffe-fast-rcnn\include\caffe,把fast_rcnn_layers.hpp這文件copy到caffe的對(duì)應(yīng)文件夾下caffe\include\caffe。

    2)配置2個(gè)新層

    ??? 打開(kāi)你的caffe\src\caffe\proto下的caffe.proto,進(jìn)行編輯。

    在407行左右

    往原來(lái)的文件里添加新的層的配置信息

    [plain] view plaincopy
  • ??optional?ROIPoolingParameter?roi_pooling_param?=?8266711;??
  • ??optional?SmoothL1LossParameter?smooth_l1_loss_param?=?8266712;??
  • message?ROIPoolingParameter?{??
  • ??//?Pad,?kernel?size,?and?stride?are?all?given?as?a?single?value?for?equal??
  • ??//?dimensions?in?height?and?width?or?as?Y,?X?pairs.??
  • ??optional?uint32?pooled_h?=?1?[default?=?0];?//?The?pooled?output?height??
  • ??optional?uint32?pooled_w?=?2?[default?=?0];?//?The?pooled?output?width??
  • ??//?Multiplicative?spatial?scale?factor?to?translate?ROI?coords?from?their??
  • ??//?input?scale?to?the?scale?used?when?pooling??
  • ??optional?float?spatial_scale?=?3?[default?=?1];??
  • }??
  • message?SmoothL1LossParameter?{??
  • ??//?SmoothL1Loss(x)?=??
  • ??//???0.5?*?(sigma?*?x)?**?2????--?if?x?<?1.0?/?sigma?/?sigma??
  • ??//???|x|?-?0.5?/?sigma?/?sigma?--?otherwise??
  • ??optional?float?sigma?=?1?[default?=?1];??
  • }??
  • 3)cmake新的caffe的python接口

    ??? 就是再執(zhí)行一遍build_win.cmd就行。編譯好之后,把caffe根目錄下的python文件夾替換py-faster-rcnn\caffe-fast-rcnn的python文件夾。

    三、demo

    完成以上步驟你的py-faster-rcnn就已經(jīng)編譯成功了。如果你想用demo測(cè)試一下的話(huà)可以用.\data\scripts里的腳本去下載已經(jīng)訓(xùn)練好的model,文件挺大的、速度挺慢的。所以給大家提供一個(gè)百度云https://pan.baidu.com/s/1nuAOmG5,把caffemodel文件放在data\faster_rcnn_models,然后執(zhí)行tools\demo.py就能看到結(jié)果了



    總結(jié)

    以上是生活随笔為你收集整理的Windows+VS2015编译caffe+py-faster-rcnn的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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