深度學習之——編譯、測試、訓練Faster-rcnn的時候遇到的一些問題

最近要跑一寫關鍵點定位的demo,用到了faster-rcnn,這裡總結下,在編譯、測試、訓練過程中遇到的一些問題

電腦配置:ubutu16.04+GTX1080+CUDA8.0+cudnn7.1+opencv2.4

具體安裝參考:

https://www.linuxidc.com/Linux/2017-01/139319.htm?

www.linuxidc.com圖標

Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0 深度學習環境配置

Ubuntu 16.04+Nvidia GTX 1080+CUDA8.0 深度學習環境配置?

www.linuxidc.com圖標

首先,編譯caffe我用的這個happynear/AMSoftmax,因為裡面有一些loss,我會用到,所以就沒用

https://github.com/rbgirshick/py-faster-rcnn?

github.com

裡面自帶的caffe。

但是在編譯好,用的時候,會有一些層不太一樣,比如:smooth-l1-loss,如果出現這個問題,就直接把faster-rcnn的相應的.cpp,.cu和.hpp文件拷貝過去,修改

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];

}

重新編譯下。

在編譯caffe的時候,我用cmake命令,就是先建一個文件夾build,然後cmake .. 然後make all.

也可以使用faster-rcnn自帶的caffe,直接編譯就好了。參考:

Ubuntu16.4系統下為Python配置caffe環境 - CSDN博客?

blog.csdn.net圖標

編譯好pycaffe。

然後,安裝編譯py-faster-rcnn

Faster-RCNN+ZF用自己的數據集訓練模型(Python版本) - CSDN博客?

blog.csdn.net圖標

在編譯安裝好py-faster-rcnn的時候,運行demo.py的。應該這個時候還會報一些錯,比如:caffe版本帶來的問題,

  • rpn/proposal_layer.py

修改:layer_params = yaml.load(self.param_str)

  • layer.py

# parse the layer parameter string, which must be valid YAML

layer_params = yaml.load(self.param_str)

還有可能會遇到的問題,比如在命令行可以import caffe,但是程序中不行了。

可以這樣修改

import sys

old_path = os.getcwd()

caffe_root = "/home/kuan/AM-softmax_caffe"

os.chdir(caffe_root + "/python")

import caffe

os.chdir(old_path)

這時候,你可能已經可以跑通test的測試,看到成功的檢測了。

放幾張圖吧,這樣看著好看些。

但是。。。。。。。。。。。。。。。。。。。。。。。。。

你只是跑通了測試!!!還有train!!

你會發現又一堆bug等待著你,比如之前提到的有些層的問題,可能你用的faster-rcnn自帶的caffe,就會沒有這個問題。

然後,

遇到的一些其他的問題,都比較容易解決。

TypeError: numpy.float64 object cannot be interpreted as an index這個問題上。

pvanet訓練遇到的一些問題 - CSDN博客?

blog.csdn.net

參考這個博客,修改就好了,不要去升級什麼numpy,沒什麼用的,還會有新的問題。

修改以及的訓練集,參考這個博客。

Caffe學習系列--Faster-RCNN訓練自己的數據集 - CSDN博客?

blog.csdn.net圖標

提醒:中間可能還會遇到一些其他的問題,直接baidu就能解決。

解決error 1:assert (boxes[:, 2] >= boxes[:, 0]).all()和IndexError: list index out of range問題

Faster RCNN 訓練自己的檢測模型?

blog.csdn.net

如果還有問題,那就加QQ群:745224003

目前群人數較少,希望後面慢慢壯大,想加微信,入群私聊~

推薦閱讀:

TAG:深度學習DeepLearning | 目標檢測 | 計算機視覺 |