源码在github上有https://github.com/argman/EAST
修改的地方不多
首先在原项目木文件中创建test文件夹用来存放测试图片,model文件夹存放训练模型,out文件夹存放测试后的图片
icdar.py改成
tf.app.flags.DEFINE_string('training_data_path', './training_samples', 'training dataset to use')
multigpu_train.py根据自己的具体需求改参数
tf.app.flags.DEFINE_integer('input_size', 512, '')
tf.app.flags.DEFINE_integer('batch_size_per_gpu', 8, '')
tf.app.flags.DEFINE_integer('num_readers', 2, '')
tf.app.flags.DEFINE_float('learning_rate', 0.0001, '')
tf.app.flags.DEFINE_integer('max_steps', 100000, '')
tf.app.flags.DEFINE_float('moving_average_decay', 0.997, '')
tf.app.flags.DEFINE_string('gpu_list', '0', '')
tf.app.flags.DEFINE_string('checkpoint_path', '/home/wei/EAST/model/', '')
tf.app.flags.DEFINE_boolean('restore', True, 'whether to resotre from checkpoint')
tf.app.flags.DEFINE_integer('save_checkpoint_steps', 1000, '')
tf.app.flags.DEFINE_integer('save_summary_steps', 100, '')
tf.app.flags.DEFINE_string('pretrained_model_path', None, '')
将源码中的training_samples改成自己的数据集就可以训练了,这边我用的是icdar2015数据集
eval.py
tf.app.flags.DEFINE_string('test_data_path', '/home/wei/EAST/test/', '')
tf.app.flags.DEFINE_string('gpu_list', '0', '')
tf.app.flags.DEFINE_string('checkpoint_path', '/home/wei/EAST/model/', '')
tf.app.flags.DEFINE_string('output_dir', '/home/wei/EAST/out/', '')
tf.app.flags.DEFINE_bool('no_write_images', False, 'do not write images')
修改成自己路径
最后在编译eval.py时遇到两个报错,分别是gcc 和g++的
最后gcc的采用升级gcc版本得到解决,原来是4.8.5升到5.5.0版本后解决了
g++的是在lanme文件夹下makefile文件中修改了脚本
#CXXFLAGS = -I include -std=c++11 -O3 $(shell python3-config --cflags)
CXXFLAGS = -I include -std=c++11 -O3 -I/home/wei/.conda/envs/tf/include/python3.6m
最后编译成功
附上tensorboard 的log日志和最后测试的图片