- 首先是入口文件trian_net.py,真正处理数据的文件都在lib文件里,包括数据集制作的文件在lib/datasets下,网络训练测试的文件在lib/fast_rcnn下,lib/roi_data_layer是用python实现的网络的输入层。
parse_args函数解析输入参数:网络参数定义,初始化模型(这两项没有默认值必须自己指定),显卡号,最大迭代次数,训练数据位置等。
def parse_args():
"""
Parse input arguments
"""
parser = argparse.ArgumentParser(description='Train a Fast R-CNN network')
parser.add_argument('--gpu', dest='gpu_id',
help='GPU device id to use [0]',
default=0, type=int)
parser.add_argument('--solver', dest='solver',
help='solver prototxt',
default=None, type=str)
parser.add_argument('--iters', dest='max_iters',
help='number of iterations to train',
default=40000, type=int)
parser.add_argument('--weights', dest='pretrained_model',
help='initialize with pretrained model weights',
default=None, type=str)
parser.add_argument('--cfg', dest='cfg_file',
help='optional config file',
default=None, type=str)
parser.add_argument('--imdb', dest='imdb_name',
help='dataset to train on',
default='voc_2007_trainval', type=str)
parser.add_argument('--rand', dest='randomize',
help='randomize (do not use a fixed seed)',
action='store_true')
parser.add_argument