python3安裝caffe
❶ 如何在Windows下安裝配置python介面的caffe
整了一晚上加一上午。網上關於python的記錄較少,這里寫一下。
這里的環境是WIN10+cuda v7.5 +cudnn v4 + opencv + pycharm+VS2013
使用的是GPU,我的GPU是titan16G+內存32G
首先是caffe的文件以及第三方庫的編譯,這里提供一個已經編譯好的的連接,我就是從那裡下好然後編譯完畢的。
點擊打開鏈接 happynear的
然後就是如何編譯python介面。
1、首先先生成兩個python文件,在src/caffe/proto/extract_proto.bat 里生成caffe_pb2.py 這個之後有用。
2、然後打開已經給好的caffe/buildVS2013,打開裡面已經有的工程文件,正常的情況下應該是有7個工程,選中pycaffee單獨作為要編譯的項目。如圖所示:
把pycaffe作為單啟動。注意需要在release x64位下編譯。
如果沒有這個的話,就將這個文件夾里python文件夾中的項目加入即可。如果沒有python項目,就自己建一個,將python文件夾里的cpp文件加入就可以了。
3、選擇pycaffe的屬性,將配置屬性下的VC++目錄中的包含目錄和庫目錄填上你python所在的include和libs 再在C/C++的目錄下的附加包含目錄一項中添加
以我的python為例。D:/python27/Lib;D:/python/include/ 以及D:/Python27/Lib/site-packages/numpy/core/include 如果你安裝了CUDNN這里可以在預處理器那裡把USE_CUDNN加上,同時在LINKER的輸入目錄下的附加依賴庫中加入cudnn的lib文件。
3、開始編譯即可。這里要注意一定要和caffe、caffelib在一個項目里編譯,否則會報錯。
4、編譯成功後會在caffe/python/caffe下生成_caffe.pyd 是打不開的
5、配置python環境:需要幾個額外庫
Cython>=0.19.2
numpy>=1.7.1
scipy>=0.13.2
scikit-image>=0.9.3
matplotlib>=1.3.1
ipython>=3.0.0
h5py>=2.2.0
leveldb>=0.191
networkx>=1.8.1
nose>=1.3.0
pandas>=0.12.0
python-dateutil>=1.4,<2
protobuf>=2.5.0
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.0
six>=1.1.0
其中numpy要裝MKL版本的,不然scipy裝上了BLAS不能用
leveldb沒有windows版本的,不過我找到了可以使用的辦法。見這個博客:
點擊打開鏈接
如果有pip install 裝不上的,可以上這個網站找 wheel文件安裝就可以了
點擊打開鏈接
6、最後把目錄中python下的caffe文件夾復制到python27/Lib/site-packages就可以了。
測試的時候只需要在控制台下輸入import caffe 看能載入就知道成功了:)
❷ 怎麼安裝caffe.proto
1. 安裝cuda 一定按照官方教材
2. 安裝blas 別弄那些mlk之類的東西,直接在命令行直接安裝就好。
3. 運行caffe時要在主目錄下進行,否則會有莫名的錯誤比如:
(a)./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
4. 訓練imageNet時,在create_image_mean.sh 里邊將
./build/tools/compute_image_mean examples/imagenet/ilsvrc12_train_leveldb \
data/ilsvrc12/imagenet_mean.binaryproto
修改為
./build/tools/compute_image_mean examples/imagenet/ilsvrc12_train_lmdb \
data/ilsvrc12/imagenet_mean.binaryproto
ImportError: /home/kongtao/anaconda/bin/../lib/libm.so.6: version `GLIBC_2.15' not found (required by /usr/lib/x86_64-linux-gnu/libxvidcore.so.4)
進入aniconda/lib目錄,去掉libm.so.6即可
2.No mole named google.protobuf.internal
這說明你沒有添加google.protobuf.的位置
sys.path.append('/usr/lib/python2.7/dist-packages/')
3. python
ImportError: No mole named skimage
缺乏skimage工具箱
pip install scikit-image
❸ caffe python 介面依賴庫怎麼安裝
教你個一勞永逸的辦法,裝anaconda,有免費版的,你在裡面裝包,自動給你裝依賴包
❹ 如何在caffe里安裝python的re包
linux下怎麼把python怎麼引進caffe首先,先要再linux上安裝opencv的庫,在線安裝的話,很容易 然後,編譯的時候需要加上 `pkg-config opencv --libs --cflags opencv` 參數
❺ 怎麼才能讓python2和python3同時都能調用caffe
設置一個環境變數就可以了,這樣在命令行下就可以使用那個版本的python。
一些python的IDE還會讓你選擇哪一個python版本做為編譯器。
❻ caffe的python介面求助
一、前期環境以及准備1、安裝python在caffe中,python2和python3的介面都有。但frcnn中只能支持python2.7,所以千萬不要裝成python3。為了方便,不用自己去pip一大堆庫,我建議安裝anaconda2,裡面已經安裝了很多第三方的庫。另附python,Windows的第三方庫,裡面很全。或許有一些庫你要去官網上下載。2、安裝(更新)顯卡驅動和cudaNVIDIA的顯卡驅動安裝應該不用我說了吧,到官網上下載吧。我要說明一點的是,我的1080ti在安裝顯卡驅動時,說和Windows不匹配。怎麼解決呢?更新Windows,到官網上下驅動,再安裝。成功!還有就是記得更新你的顯卡驅動,以防老的驅動不支持cuda。CUDA安裝的話,也是傻瓜試的安裝。提醒一點的是,不要改變他的安裝路徑,默認路徑。然後去NVIDIA的官網上下載cudnn庫,這個庫的話需要去NVIDIA注冊一個賬號,然後問你用這個來完成什麼工作之類的巴拉巴拉。這個庫長什麼樣呢?下載完解壓縮,得到一個cuda的文件夾,裡面有3個文件夾然後打開你的CUDA文件夾,默認路徑是C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v8.0把cudnn庫裡面的3個文件夾裡面的文件,分別加到cuda裡面對應的文件夾。然後打開cuda需要編譯的部分,默認路徑是C:\ProgramData\NVIDIACorporation\CUDASamples\v8.0因為我用的VS2015,那麼我就用打開2015的那個,然後改成release運行。至此,顯卡計算的環境就搭建完成了。3、cmake和gitcmake的話,我建議直接下載編譯好的能運行的文件(到官網上下載),然後解壓文件,把bin的路徑添加到Path中。git:因為frcnn裡面有很多linux的腳本,你可以不用,但用的話會很方便的。所以我建議安裝git。同樣,傻瓜式的安裝,直接到官網上下載。二、py-faster-rcnn1、編譯caffe的python介面GPU版本(如果你編譯過了就不用了)因為frcnn的編譯過程用需要用到python的caffe包,所以必須要先編譯一次caffe。如果你已經編譯過caffe的py介面就不用了。下載微軟的Caffe,git的地址你可以用git直接下載,或者在git的地址里下載,隨便你。[plain]打開caffe\scripts,然後編輯build_win.cmd文件第7行的VERSION是你VS的版本,VS2015對應的是14,VS2013對應的應該是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文件配置。進入caffe\scripts,打開cmd,直接執行build_win.cmd。注意他會自動下載需要的庫,因為伺服器呢都不在國內,所以我建議掛個VPN,不然你且等呢吧。這樣cmake後呢,python的介面就已經編譯好了,不用再編譯一遍了。把caffe\python下的caffe的文件夾到python的第三方包的文件夾就ok。這樣caffe的python介面就好了,你可以進cmd的python試一下importcaffe。如果說,他提示少了什麼包,你直接pip這個包就好了,找不到的話,網路一下就有。但只要你跟著上面我的方法做應該不會出現什麼問題。2、編譯py-faster-rcnn依賴庫首先呢,我們先去編譯一下frcnn的依賴庫。Windows下,不能使用自帶的lib,把自帶的lib刪了,重新下載,這里給出git的地址。好了,現在你的庫應該長成這樣,有setup.py和setup_cuda.py。進cmd,install這2個文件。現在你肯定會遇到問題,提示你VC版本不對怎麼呢,先set一下:輸入SETVS90COMNTOOLS=%VS140COMNTOOLS%,VS後面的數字就是你的版本。還有不要忘了把你VS的c1.exe加到path下。編譯好frcnn的依賴庫後,應該是這個樣子的。3、給caffe加frcnn的層現在,我們再下載一個caffe,跟前面一樣,把build_win.cmd進行修改。然後我們就可以把frcnn的一些特有的層加到caffe里編譯了。1)添加層和文件打開py-faster-rcnn\caffe-fast-rcnn\src\caffe\layers文件夾,找到4個文件分別為然後到你新的caffe的對應文件夾caffe\src\caffe\layers里。接著我們添加頭文件,打開py-faster-rcnn\caffe-fast-rcnn\include\caffe,把fast_rcnn_layers.hpp這文件到caffe的對應文件夾下caffe\include\caffe。2)配置2個新層打開你的caffe\src\caffe\proto下的caffe.proto,進行編輯。在407行左右往原來的文件里添加新的層的配置信息[plain]_pooling_param=8266711;_l1_loss_param=8266712;messageROIPoolingParameter{//Pad,kernelsize,//,Xpairs.optionaluint32pooled_h=1[default=0];//_w=2[default=0];//Thepooledoutputwidth////_scale=3[default=1];}messageSmoothL1LossParameter{//SmoothL1Loss(x)=//0.5*(sigma*x)**2--ifx<1.0/sigma/sigma//|x|-0.5/sigma/sigma--otherwiseoptionalfloatsigma=1[default=1];}3)cmake新的caffe的python介面就是再執行一遍build_win.cmd就行。編譯好之後,把caffe根目錄下的python文件夾替換py-faster-rcnn\caffe-fast-rcnn的python文件夾。三、demo完成以上步驟你的py-faster-rcnn就已經編譯成功了。如果你想用demo測試一下的話可以用.\data\scripts里的腳本去下載已經訓練好的model,文件挺大的、速度挺慢的。所以給大家提供一個網路5,把caffemodel文件放在data\faster_rcnn_models,然後執行tools\demo.py就能看到結果了
❼ 想安裝caffe 只用在python上 但電腦不是gpu windows10系統32版本 不是英偉達顯卡 不能使用cuda
1、右鍵點擊「開始菜單」按鈕,在彈出的菜單中選擇「運行」菜單項
2、在彈出的運行窗口中,輸入gpedit.msc命令,點擊確定按鈕
3、打開本地組策略編輯器窗口
4、在本地組策略編輯器窗口中,依次點擊「管理模板/Windows組件/Windows Installer」菜單項,在右側找到「禁止用戶安裝」一項
5、在打開的「禁止用戶安裝」窗口中,可以看到該項設置為「已啟用」,這就是導致不能正常安裝軟體的原因。
6、我們把該項設置為「未配置」或是「已禁用」,然後點擊確定按鈕保存退出,這樣以後就可以正常安裝軟體了。
❽ 怎樣用python調用已經訓練好的caffe
定義CAFFE為caffe跟目錄,caffe的核心代碼都在$CAFFE/src/caffe 下,主要有以下部分:net, blob, layer, solver.
net.cpp:
net定義網路, 整個網路中含有很多layers, net.cpp負責計算整個網路在訓練中的forward, backward過程, 即計算forward/backward 時各layer的gradient。layers:
在$CAFFE/src/caffe/layers中的層,在protobuffer (.proto文件中定義message類型,.prototxt或.binaryproto文件中定義message的值) 中調用時包含屬性name, type(data/conv/pool…), connection structure (input blobs and output blobs),layer-specific parameters(如conv層的kernel大小)。定義一個layer需要定義其setup, forward 和backward過程。blob.cpp:
net中的數據和求導結果通過4維的blob傳遞。一個layer有很多blobs, e.g,對data,weight blob大小為Number * Channels * Height * Width, 如256*3*224*224;
對conv層,weight blob大小為 Output 節點數 * Input 節點數 * Height * Width,如AlexNet第一個conv層的blob大小為96 x 3 x 11 x 11;
對inner proct 層, weight blob大小為 1 * 1 * Output節點數 * Input節點數; bias blob大小為1 * 1 * 1 * Output節點數( conv層和inner proct層一樣,也有weight和bias,所以在網路結構定義中我們會看到兩個blobs_lr,第一個是weights的,第二個是bias的。類似地,weight_decay也有兩個,一個是weight的,一個是bias的);
blob中,mutable_cpu/gpu_data() 和cpu/gpu_data()用來管理memory,cpu/gpu_diff()和 mutable_cpu/gpu_diff()用來計算求導結果。slover.cpp:
結合loss,用gradient更新weights。主要函數:
Init(),
Solve(),
ComputeUpdateValue(),
Snapshot(), Restore(),//快照(拷貝)與恢復 網路state
Test();
在solver.cpp中有3中solver,即3個類:AdaGradSolver, SGDSolver和NesterovSolver可供選擇。
關於loss,可以同時有多個loss,可以加regularization(L1/L2);Caffe
Caffe的所有message定義在$CAFFE/src/caffe/proto/caffe.proto中。Experiment
在實驗中,主要用到兩個protocol buffer: solver的和model的,分別定義solver參數(學習率啥的)和model結構(網路結構)。- 好吧,了一大段,不曉得有沒有幫助,說點accuracy = 0.5的問題。簡單說,就是分錯了,好吧我知道這是廢話。既然是分錯了,那麼就要檢查下了,首先檢查你的訓練模型。
- 根據訓練過程來看,訓練應該是已經收斂了,(反正loss一直在減小)。
- 這句可能是我理解問題,如果模型收斂的話,loss應該趨於平穩,如這樣。
安裝python:yum install python-devel.x86_64
Makefile.config修改WITH_PYTHON_LAYER := 1 #取消注釋
安裝python依賴如果安裝 Anaconda Python可以免去下面步驟cd $CAFFE_ROOT/python
for req in $(cat requirements.txt); do pip install $req; done編譯make cleanmake pycaffe -j32make test -j32
使Caffe的python介面永久生效vim /etc/profileprofile最後添加: export PYTHONPATH=/root/$CAFFE_ROOT/python:$PYTHONPATHsource /etc/profile
Protocol buffer:
上面已經將過, protocol buffer在 .proto文件中定義message類型,.prototxt或.binaryproto文件中定義message的值;
❾ 如何讓caffe同時支持python2.7和python3.4
你可以在caffe的目錄里修改Makefile.config這個文件相關參數,來配置Python3.4.Ubuntu系統允許多個版本存在。目前,版是Python 3.5,較好安裝python anaconda工具開發。
Caffe可以說是第一個工業級深度學習工具,始於2013年底由UC Berkely的賈楊清編寫的具有出色的CNN實現功能的開發語言,在計算機視覺領域Caffe仍然是最流行的工具包
❿ 為什麼每次從python導入caffe都要編譯介面
原因