tensorflow object detection API训练公开数据集Oxford-IIIT Pets Dataset
為了避免不必要的麻煩,先說一下我的系統(tǒng)版本
Python 3.6 tensorflow 1.10 windows 7
object detection API安裝
object detection API 安裝參見官方的github: https://github.com/tensorflow/models/tree/master/research/object_detection
這里需要特別強(qiáng)調(diào)一下,一定要檢查一下,下面的python的包都安裝了,方法很簡(jiǎn)單,全部執(zhí)行一遍
windows下面不需要--user選項(xiàng),Oxford-IIIT Pet 數(shù)據(jù)集使用coco metrix, 所以下面必須執(zhí)行這個(gè)命令行:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
在windows下面遇到utf-8編碼錯(cuò)誤
如下修正:
C:\Program Files\Python\Python36\Lib\site-packages\pip\compat\_init_.py
79行改成gbk, utf-8替換為gbk, 不一定是是79行。再次執(zhí)行即可成功安裝
創(chuàng)建訓(xùn)練數(shù)據(jù)記錄tfrecord
下載好Oxford-IIIT Pets Dataset數(shù)據(jù)集,解壓縮到這里
然后執(zhí)行下面的命令行:
訓(xùn)練數(shù)據(jù)成功創(chuàng)建在指定目錄:先切換到指定目錄,完整的命令行執(zhí)行
D:\tensorflow\models\research>python objectdetection/datasettools/createpettfrecord.py --labelmappath=objectdetection/data/petlabelmap.pbtxt
--datadir=D:/petdata --output-dir=D:\tensorflow\mytrain\data
還不會(huì)看這里:
https://github.com/tensorflow/models/blob/master/research/objectdetection/g3doc/preparing_inputs.md
遷移學(xué)習(xí)
這步成功以后,就可以開始執(zhí)行真正的訓(xùn)練啦,等等,別著急,我們是基于預(yù)訓(xùn)練模型的遷移學(xué)習(xí),所以還有幾件事情必須搞定,
下載預(yù)訓(xùn)練的tensorflow模型,我這里下載的是
http://download.tensorflow.org/models/objectdetection/ssdmobilenetv1coco201801_28.tar.gz
解壓縮到指定目錄,我的完整目錄結(jié)構(gòu)如下:
其實(shí)有+加號(hào)的表示目錄文件夾, - 表示文件
labelmap file來自 D:\tensorflow\models\research\objectdetection\data\petlabelmap.pbtxt pipeline config file來自 D:\tensorflow\models\research\objectdetection\samples\configs\ssdmobilenetv1pets.config
直接copy過來,然后打開
開始修改,把所有【PATH_TO_BE_CONFIGURED】都改到正確路徑上來:
保存好啦,然后直接執(zhí)行訓(xùn)練的命令行:
各個(gè)參數(shù)選項(xiàng)解釋如下:
--pipelineconfigpath
訓(xùn)練時(shí)候配置目錄,所有關(guān)于訓(xùn)練各種輸入路徑、參數(shù)模型、參數(shù)網(wǎng)絡(luò)配置,都在這個(gè)里面。
--modeldir
訓(xùn)練時(shí)候會(huì)寫文件的目錄,訓(xùn)練完成輸出的模型保存目錄
--numtrainsteps
訓(xùn)練多少個(gè)steps
--numeval_steps
多少個(gè)eval, 基本上兩者要相差10倍以上 steps : eval
--alsologtostderr
表示日志信息
如果遇到這個(gè)錯(cuò)誤
TypeError: can't pickle dictvalues objects
這樣修改,打開model_lib.py
D:\tensorflow\models\research\objectdetection
繼續(xù)訓(xùn)練就會(huì)很OK
啟動(dòng)tensorboard查看訓(xùn)練過程: CPU 太慢了,半天走一個(gè)step
原文發(fā)布時(shí)間為:2018-08-27
本文作者:gloomyfish
本文來自云棲社區(qū)合作伙伴“OpenCV學(xué)堂”,了解相關(guān)信息可以關(guān)注“OpenCV學(xué)堂”。
總結(jié)
以上是生活随笔為你收集整理的tensorflow object detection API训练公开数据集Oxford-IIIT Pets Dataset的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《简明 PHP 教程》01 关于 PHP
- 下一篇: ES6 for...of循环