參考:https://blog.csdn.net/tuoyakan9097/article/details/81776019,寫的很不錯,可以參考
關於配環境,每個人都可能會遇到各種各樣的問題,不同電腦,系統,版本,等等。即使上邊這位大神寫的如此詳細,我也遇到了他這沒有說到的問題。這些問題都是我自己遇到,通過百度和自己摸索出來的解決辦法,不一定適用所有人,僅供參考。如果哪位大神能給我說一說我的那些操作的原理,不勝感激。
先說一下我的電腦,Windows10專業版,64位操作系統
Windows下Python版本TensorFlow需要Python 3.5支持,我的電腦本來是Python3.7,后來我直接卸載了重新裝的Python3.5,起始可以參考大神所寫的用Anaconda,創建虛擬環境,避免和原本電腦Python版本沖突等問題。
PS:Python 3.5官網下載有點慢,不過還好不大,貼個網盤鏈接https://pan.baidu.com/s/1mPG4o5kwtrFFWQna4GFSpg 提取碼:u6jz
環境配置需要安裝VS2015,這個比較大,可以先下載,然后往后看,我再解釋為啥要用這個,以及版本選擇。鏈接:https://pan.baidu.com/s/11VGz_V1QYYQflxDw-vNq4A 提取碼:huqq
下面開始安裝依賴庫:
以管理員身份運行CMD
輸入命令更新一下pip:pip install --upgrade pip
出現如下錯誤:
解決辦法:找到Python的安裝目錄,右鍵-->屬性,把只讀去掉
繼續報錯:ImportError: No module named 'pip'
解決辦法,輸入命令:
python -m ensurepip python -m pip install --upgrade pip
下載tensorflow:
pip install --ignore-installed --upgrade tensorflow
PS:這種下載方式很慢,小妙招:
復制這個下載鏈接,(https://files.pythonhosted.org/packages/e4/61/66d7da05fa8cf0a6a5656f7e1dd98b0233a571326fbadf4f729c284b269e/tensorflow-1.13.1-cp35-cp35m-win_amd64.whl)在瀏覽器打開,下載會快一點,
下載完成后進入下載目錄,輸入:pip install tensorflow-1.13.1-cp35-cp35m-win_amd64.whl 進入安裝
耐着性子等待下載安裝,如果實在太慢,就試試我剛剛說過的方法。
安裝完成測試一下
如果不報錯還是值得開心的,如果你比較倒霉,重新進行安裝吧。
繼續安裝Python依賴庫安裝(cython, easydict,opencv)
pip install cython pip install easydict
openCV我不建議也像他倆這樣直接安裝,https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv在這選一個安裝(對應python版本和電腦系統)
確保TensorFlow和相關的依賴安裝成功之后,
下載faster rcnn程序包:下載鏈接,解壓,然后可以看一下里面的readme
在cmd中使用cd命令到解壓后的文件夾下../data/coco/PythonAPI目錄下,輸入命令:
python setup.py build_ext --inplace
python setup.py build_ext install
執行時如果報錯 Unable to find vcvarsall.bat,建議安裝visual studio 2015,安裝時默認的語言是C#和VB,需要把C++也勾上。如果已經安裝了VS 2015,檢查VS安裝目錄下是否有vcvarsall.bat文件,例如我的路徑為:D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC,如果沒有此文件,表明安裝時是默認安裝的,還缺少C++編譯文件,這個時候可以打開VS,新建項目,語言選擇C++,此時VS會讓你安裝一個工具,安裝后就好了
PS:一定是VS2015,不要別的版本,安裝上面那個鏈接就行
下載VOC2007格式的數據集
下載地址:
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
將下載后的三個壓縮包解壓到同一個文件夾下,以WinRAR為例,同時選中三個壓縮包,右鍵,然后選擇解壓到當前文件夾
可以得到VOCDevkit文件夾,將VOCDevkit重命名為VOCDevkit2007,然后將這個文件夾拷貝到你自己的Faster-RCNN中data目錄下。
下載預訓練的VGG16網絡模型:
下載地址:http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz下載之后解壓,文件重命名為vgg16.ckpt,
新建文件夾imagenet_weights,把vgg16.ckpt放到imagenet_weights下,再將imagenet_weights文件夾拷貝到data文件夾下,
這樣,VGG16網絡模型的地址應該類似於這在faster rcnn目錄下運行命令樣:../data/imagenet_weights/vgg16.ckpt
到這一步,按照過程就可以直接訓練模型了:
在faster rcnn目錄下運行命令
python train.py
重點來了,我配這個環境花了三天,在這迷了兩天半,
出現錯誤:ImportError: No module named 'lib.utils.cython_bbox'
百度了一下,說是Python版本不對,我的Python應該是沒問題的,進行很長時間的摸索,我自己給搞通了,解決方法如下:
cmd中進入faster rcnn解壓文件夾,再進入lib\utils文件夾
輸入命令:
python setup.py build_ext --inplace python setup.py build_ext install
我的理解,utils文件夾應該是沒有編譯,運行setup就是為了編譯,可能不對,望哪位大神能為我解惑,不勝感激
在回到faster rcnn解壓文件夾,輸入命令:
python train.py
PS:如果出現這種錯誤:AssertionError: Path does not exist: D:\Workspaces\python\Faster-RCNN-TensorFlow-Python3.5-master\data\VOCdevkit2007\VOC2007\ImageSets\Main\trainval.txt
說明是你網絡模型地址和數據集地址有問題,回到上面仔細看一看,是不是哪一步的文件夾的名字寫錯了啥的。
如果沒問題就是在用VOCDevkit2007下的示例圖片訓練分類模型了。第一次運行時可能會報錯說找不到matplotlib,scipy,PIL(對應的是pillow庫)等,安裝這些庫就好了。
電腦配置過低,目前還在訓練,后續再更。