follow了上交博士大佬yangxue的兩個方法,這篇僅記錄復現程序中碰到的問題,具體論文的介紹就不寫了,大佬自己的知乎已經寫得非常詳細了,
SCRDet:https://zhuanlan.zhihu.com/p/107400817
CSL:https://zhuanlan.zhihu.com/p/111493759
復現的第一個方法:https://github.com/DetectionTeamUCAS/R2CNN-Plus-Plus_Tensorflow
在Ubuntu16.04下
1、tensorflow >= 1.2
2、cuda8.0
3、python2.7 (anaconda2 recommend)
4、opencv(cv2)
5、tfplot
實測tensorflow-gpu==1.2和1.4都可以使用,cuda8需要本地編譯安裝,anaconda3下創建python2.7環境即可
實際安裝tf的時候,conda沒辦法直接安裝這么低版本的tensorflow-gpu,于是從pypi下載了wheel本地安裝,其他一些依賴包會自動安裝,
pip install tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.wheel
另外需要注意的是,這個版本的tf配了numpy1.16.3,安裝opencv的時候主要要控制版本,否則numpy版本對不上就報錯,經過嘗試之后,opencv-python安裝3.3.1.11即可
pip install opencv-python==3.3.1.11
cuda8需要本地編譯,在conda環境中安裝cudatoolikit8在后續編譯中報錯,另外conda虛擬環境內還需要一個cudnn才能正常import tensorflow
conda install cudnn==5.1.10
cython的安裝其實不用嚴格控制版本,保險起見和檔案夾的檔案對應,cython選擇0.25.2
還有一個tfplot需要安裝,直接pip
conda install cython==0.25.2
pip install tensorflow-plot
最后按照作者的流程,把預訓練的權重放在對應檔案夾即可,貼心的給了百度云,感謝大佬
訓練自己的資料集也非常簡單,如果資料集的annotation是txt并且是[x1,y1,x2,y2,x3,y3,x4,y4,class,more]這樣的,在data/io檔案夾下有直接的工具可以用txt2xml.py,轉成xml之后根據作者步驟生成tfrecord即可,github中步驟很詳細,
準備好資料后按照github的提示依次修改幾個檔案中的配置即可開始訓練,
另一個方法CSLhttps://github.com/Thinklab-SJTU/CSL_RetinaNet_Tensorflow的配置就很簡單了
conda create -n xxx python=3.6
conda activate xxx
conda install tensorflow-gpu=1.13.1
conda install cudatoolkit==10.0
conda install cudnn==7.6.5
pip install opencv-python
pip install tensorflow-plot
訓練自己的資料集和上一個方法很類似,這個支持多GPU,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/219003.html
標籤:其他
上一篇:CNN人臉識別之模型創建
