这里使用的是Python3.6的版本,链接原作者说明,3.5,3.6,3.7都可以用。
安装tensorflow gpu版本
pip install tensorflow -gpu安装一下Python包:
pip install matplotlib pip install cython pip install pillow pip install opencv-python pip install easydictdata\VOCdevkit2007\VOC2007 Main文件夹中的txt文件存放的是不带后缀名的图像名称,百分比如上图所示,文件中并没有提供切分数据集的程序,所以我自己写了一份,稍加修改就可以使用:
from sklearn.model_selection import train_test_split import os # 所有图像的路径 name_path = r'C:\Users\machenike\Desktop\VOCdevkit2007\VOC2007\JPEGImages' name_list = os.listdir(name_path) # print(name_list) # 存放不带后缀名的所有图像名 names = [] for i in name_list: # 获取图像名 names.append(i.split('.')[0]) # 切分 trainval,test = train_test_split(names,test_size=0.5,shuffle=10) val,train = train_test_split(trainval,test_size=0.5,shuffle=10) # 分别写入 with open('./trainval.txt','w') as fw: for i in trainval: fw.write(i+'\n') with open('./test.txt','w') as fw: for i in test: fw.write(i+'\n') with open('./val.txt','w') as fw: for i in val: fw.write(i+'\n') with open('./train.txt','w') as fw: for i in train: fw.write(i+'\n') print('done!')下载网址:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3 data\imagenet_weights\vgg16.ckpt(按此路径存放) 需要注意的是,下载后的模型名称可能是vgg_16.ckpt,需要去掉下划线:vgg16.ckpt
修改demo.py:
修改train.py:
修改pascal_voc.py:
如果说并没有训练到40000次,比如只训练了5000次,想要测试的话,那么需要 将所保存的模型的后缀由5000改为40000,因为代码中,是直接调用 VGGnet_fast_rcnn_iter_40000.ckpt,来进行测试的。 需要注意的是: Demo.py文件中特定给出了进行测试的图像的名称,所以要使用自己的数据进行测试,可以修改py文件中的im_names,或者修改自己的测试图像的名称,如下图: