def start(): #vgg16预训练权重所在路径 setting = provider.Settings( mean_value=[104, 117, 124], img_dot_path= "/media/gzs/baidu_star_2018/image/stage1/dot_den/dot/train/", img_box_path= "/media/gzs/baidu_star_2018/image/stage1/box_den/box/train/", img_dot_den_path= "/media/gzs/baidu_star_2018/image/stage1/dot_den/dot/train_den/", img_box_den_path= "/media/gzs/baidu_star_2018/image/stage1/box_den/box/train_den/") main(data_args=setting, use_cuda=False, num_passes=25, lr=1e-6)
# 创建训练器 trainer = paddle.trainer.SGD(cost=cost, parameters=parameters, extra_layers=[detect_out], update_equation=optimizer) # 定义数据层之间的关系 feeding = {'image': 0, 'bbox': 1} # 生成要训练的数据 reader = paddle.batch(data_provider.test(data_args, eval_file_list), batch_size=batch_size) # 获取测试结果 result = trainer.test(reader=reader, feeding=feeding) # 打印模型的测试信息 print "TestCost: %f, Detection mAP=%g" % \ (result.cost, result.metrics['detection_evaluator']) if __name__ == "__main__": paddle.init(use_gpu=True, trainer_count=2) # 设置数据参数 data_args = data_provider.Settings(data_dir='../data', label_file='../data/label_list', resize_h=cfg.IMG_HEIGHT, resize_w=cfg.IMG_WIDTH, mean_value=[104, 117, 124]) # 开始评估 eval(eval_file_list='../data/test.txt', batch_size=4, data_args=data_args, model_path='../models/params_pass.tar.gz')