今天在服务器上搭建CTPN的训练环境,问题可谓是一个接一个,整得我整个人都不好了,所以写这篇文章一是记录一下,二是希望自己的踩坑经验能帮到大家,废话不多说,开整!
先说一下我的配置,cuda10.0,tensorflow1.13(至于我的tensor为啥用1.13这个是由于我的cuda版本限制的,关于tensorflow和cuda版本的对应关系大家可以参考这篇文章https://blog.csdn.net/qq_35451572/article/details/92772749)
其他的都是按照ctpn技术文档里的版本来的,为了方便环境移植啥的,个人建议,ctpn的环境搭建最好在conda中的虚拟环境中进行。
按照技术文档中的setup中的requirements安装好对应版本的tensorflow,cython,opencv-python还有easydict然后执行shell中的代码(切记一定要在对应目录中执行,要不然很麻烦)如果执行过程中发生了报错就打开setup.sh文件,然后把所有指令一条一条的输入到终端里,如果你是使用显卡而且比较懒的话,那个paramenters可以直接略过,到了demo这一步,执行demo会发现
出现这个情况那就安装pillow(pip install pillow)
再次执行又出现新的问题
安装PyYAML(pip install PyYAML)
安装完毕以后就可以成功运行demo了
接下来是训练的过程,还是按照技术文档来,prepare data,首先下载预训练模型把它放到data/pretrain/VGG_imagenet.npy中
然后调好split_label.py中的参数,保证能够找到训练数据进行数据处理,继续按照文档执行
到了 ln -s TEXTVOC VOCdevkit2007这一步了,将TEXTVOC从prepare_training_data复制到data中,然后将data中的VOCdevkit2007删掉,然后执行ln -s TEXTVOC VOCdevkit2007
执行训练脚本,发现又出问题了
再装 pip install scipy
接下来重头戏来了
出现这个问题需要更改的是/ctpn/lib/fast_rcnn/train.py这个文件,将第74行的log_image = gen_logging_ops._image_summary(log_image_name, tf.expand_dims(log_image_data, 0), max_images=1)改成log_image = gen_logging_ops.image_summary(log_image_name, tf.expand_dims(log_image_data, 0), max_images=1)就ok了,就多了一个_很坑爹
然后接下来问题继续
执行pip install numpy==1.16.2就可以快乐de训练了
ctpn/lib/fast_rcnn 134 后面加一个, end='_'
联系我
博客园:https://www.cnblogs.com/AWSG-Shaodw/
CSDN:https://blog.csdn.net/AngleWithShotgun/
简书:https://www.jianshu.com/u/df7323cbc116
微信公众号: