1、數據準備
首先下載pascal_voc數據集,voc2007和voc2012都行,本代碼使用的是voc2012。
2、代碼下載
從https://github.com/fizyr/keras-retinanet將代碼下載到本地。
3、需要庫安裝
除了keras,tensorflow,anaconda這些常規的庫,還需要安裝pip install keras_resnet pip install progressbar2
4、首先執行的代碼命令
應該先到setup.py文件所在的目錄下,打開終端,然後輸入python setup.py build_ext --inplace
5、訓練過程
在setup.py文件所在的目錄下打開終端,輸入python keras_retinanet/bin/train.py pascal ‘datapath’
其中‘datapath’就是所下載的pascal_voc數據集的路徑。
6、模型轉化
訓練好的模型不能直接用於預測,所以要在setup.py文件所在的目錄下打開終端,輸入python keras_retinanet/bin/convert_model.py ./snapshots/resnet50_pascal_44.h5 ./Inference/resnet50_crt44.h5
其中snapshots這個文件夾內存放的是訓練好的模型,並且這個目錄是原來就有的;而Inference這個目錄則是爲了方便存放預測模型而自己建的文件夾,當然轉化後的模型名字resnet50_crt44.h5也是自己取的。
7、預測
將example文件夾下的ResNet50RetinaNet.ipynb複製到上一個目錄,也就是setup.py文件所在的目錄;使用jupyter notebook打開ResNet50RetinaNet.ipynb,按照裏面的步驟操作即可,只需改一些路徑和標籤對應關係。
注:遇到問題可以先去https://github.com/fizyr/keras-retinanet的Issue模塊搜索,訓練過程可以參考https://blog.csdn.net/wc781708249/article/details/79643484。