按原PO的要求, 放上文章來源出處
https://blog.csdn.net/tuoyakan9097/article/details/81782257
附上我的操作步驟與結果
打開Anaconda Prompt
輸入conda create -n tensorflow python=3.5
其實我覺得用3.5, 3.6都沒有關係, 但避免麻煩還是創個3.5的環境吧!
activate tensorflow
然後安裝下列東西
pip install tensorflow==1.5.0
pip install cython
pip install pillow
pip install numpy==1.16.0
pip install scipy
pip install matplotlib
pip install opencv-python
pip install easydict
https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3
接著到github下載
然後
cd Faster-RCNN-TensorFlow-Python3-master\data\coco\PythonAPI
python setup.py build_ext --inplace
python setup.py build_ext install
然後下載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
解壓縮在同一個資料夾
重新命名為VOCDevkit2007
放在\data下面
下載預訓練的VGG16網路模型
http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz
新建一個資料夾叫imagenet_weights放到data下面
vgg_16_2016_08_28.tar.gz解壓縮, 並且改名vgg16.ckpt
接著因為我不想迭代這麼多次, 畢竟是CPU版,所以進入lib -> config中, 打開config.py
把max_iters改成5000, 本來四萬次實在太久了
接著就可以開始訓練(糗, 打錯單字)
python train.py
訓練完之後
打開demo.py, 修改一下這個部分
def parse_args():
"""Parse input arguments."""
parser = argparse.ArgumentParser(description='Tensorflow Faster R-CNN demo')
parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16 res101]',
choices=NETS.keys(), default='vgg16')
parser.add_argument('--dataset', dest='dataset', help='Trained dataset [pascal_voc pascal_voc_0712]',
choices=DATASETS.keys(), default='pascal_voc')
args = parser.parse_args()
return args
還有
tfmodel = r'D:\Faster-RCNN-TensorFlow-Python3-master\default\voc_2007_trainval\default\vgg16_faster_rcnn_iter_5000.ckpt'
就可以執行
python demo.py
跑出以下的圖片
2020.12.1 後記
再次打開Faster RCNN執行時, 出現
TypeError: argument of type 'NoneType' is not iterable
找個大半天, 才發現
下載下來的vgg_16_2016_08_28.tar.gz解壓縮後, 我直接把vgg_16.tar改成vgg16.ckpt...
還要再解壓縮一次才可以....
留言列表