win10+tensorflow faster-RCNN 訓練自己的數據集

首先,感謝博客上各路大佬的無私奉獻!但是也不得不吐槽下,大佬些寫博客的時候能儘量寫的對小白友好一點嗎?期間遇到各種坑,說多了都是淚啊!話不多說,上正題!

環境:win10+anaconda3+tensorflow1.2.1+python3.6,CPU版本。

源碼地址:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5

一 下載源碼以及源碼環境準備

  1. 肯定是下載源碼,配置好相應的環境!anaconda prompt下激活tensorflow環境,包括但不限於安裝python包(cython,python-opencv,easydict),反正就是提示缺少什麼,就install什麼就對了!
  2. GitHub上源碼提示有“Checkout this branch”這一步,但我沒懂什麼意思!沒照做,但是也訓練成功了,有懂得老哥幫忙解釋一下!
  3. setup.py文件修改

        在第16行加入以下代碼,(別問我爲什麼,我只是代碼的搬運工)

 

    Extension(
            'lib.utils.cython_bbox', 
            sources=['E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils/bbox.c','E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils/bbox.pyx'],
            include_dirs = [np.get_include(), 'E:/python/tensorflow/Faster-RCNN-TensorFlow-Python3.5-master/lib/utils'],
            extra_compile_args=[])
  1. 承接步驟1,進入到源碼的路徑下(cd 自己的路徑\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI);分別執行下列命令:
    python setup.py build_ext --inplace
    python setup.py build_ext install

    提示:安裝VS2015的庫,否則會報錯 “error: Unable to find vcvarsall.bat”

  2. 用VS2015編譯python3.6代碼:這一步對於不是python3.5的小夥伴很關鍵,因爲源碼是基於python3.5編譯,而在python3.6下運行就會報錯,所以必須在python3.6環境下重新編譯。編譯步驟如下:

        1)打開VS2015 X64 本機工具命令提示符;

         

         2)同樣激活tensorflow環境(activate tensorflow),進入到源碼的路徑下(cd 自己的路徑\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI),運行:

python setup.py build_ext --inplace;

              會在 “***\Faster-RCNN-TensorFlow-Python3.5-master\data\coco\PythonAPI\lib\utils”目錄下生成cython_bbox.cp36-win_amd64.pyd文件,將該文件複製到“***\Faster-RCNN-TensorFlow-Python3.5-master\lib\utils”下。

        5. 這裏下載模型VGG16 ,放入“***\Faster-RCNN-TensorFlow-Python3.5-master\data \ imagenet_weights \ vgg16.ckpt”,記得把文件名從“VGG_16”更改爲“VGG16”,這兒坑了我不少時間。再次感謝博主---douminan

二 準備訓練集

1.labelimg標註數據

labelimg的使用:https://cloud.tencent.com/developer/news/325876

注意:注意標註的時候一定不要用大寫,不要有空格,建議全部用小寫字母和數字,感謝博主--beyond_xnsx

2.將自己的數據製作成VOC2007的格式

批量命名文件:https://blog.csdn.net/u011574296/article/details/72956446

製作訓練集:https://blog.csdn.net/gaohuazhao/article/details/60871886

注意:VOC2007的格式生成如下圖所示:

三 源碼修改

Faster-RCNN-TensorFlow-Python3.5-master\lib\datasets\pascal_voc.py文件中,將以下代碼中的類別替換爲自己數據集的類別,如下圖所示。至於某些博客說不能刪除類別總數,但是經實際測試,刪除了也不影響。

        self._classes = ('__background__',  # always index 0
                         'bird','flower', 'horse')

注意:不要更改'__background__',這個是本身自有的,即你有N類檢測目標,實際是N+1,多出來的1類就是背景,所以不能刪除'__background__'。

Faster-RCNN-TensorFlow-Python3.5-master\lib\config\config.py中修改訓練參數,根據自己情況更改哈,博主也是小白,無法作任何指導。

四 訓練

哈哈,終於到激動人心的一刻,成功還是繼續躺坑裏就看這一步了!

繼續在anaconda prompt裏,激活tensorflow環境,進入到Faster-RCNN-TensorFlow-Python3.5-master根目錄下(跟上述一樣,用“cd”命令進入哈,根目錄就是能看到一個train.py的文件),執行

python train.py

一般不報錯進入到訓練環節就是對的哈,訓練如下所示。

五 後續測試

由於沒有訓練結束,所以等待後續更新。。。

 

主要引用下列博客,再次感謝博客大佬們的無私奉獻。

https://blog.csdn.net/beyond_xnsx/article/details/79771690

https://blog.csdn.net/weixin_38124357/article/details/80816288

https://blog.csdn.net/douminan/article/details/82223619

https://blog.csdn.net/gaohuazhao/article/details/60871886

https://blog.csdn.net/u011574296/article/details/72956446

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章