报错日记(很新的小白 很详细的解决办法):
跟着网上一个很详细的Mask R-CNN的模型训练教程但还是出错(顺便说一下这个教程很详细很适合新手:https://blog.csdn.net/doudou_here/article/details/87855273)
记录了一下各种错误 加上解决办法
全网报过的错我都报过 所以来这里找找解决办法吧
第一次报错:python train.py 没有error 没有warring
没有需要下载的模块
没有代码错误
所以只能是版本不对照的问题
先把tensorflow和tensorboard都删了
pip uninstall tensorflow
pip uninstall tensorboard
(我的anaconda版本是3.6 / anaconda prompt里查的python版本是3.6(但不知道为啥cmd里查的终端的python版本是3.8 这个还没搞清楚 不过问题不大 可以继续往下))
重新安装tensorflow==1.4.0
pip install tensorflow==1.4.0
然后跑 python train.py
第二次报错:model.py error:keepdims
是Mask R-CNN代码里的问题
把model.py里的keepdims 改成 keep_dims
(直接ctrl+F键 输入 keepdims找位置)
然后再跑pip install tensorflow==1.4.0
第三次报错:开始训练了 Epoch 1/10…
但是之后就不动了 我刚开始以为我的配置太垃圾跑不动 之后看了一下训练前报的一个警告:
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
不知道和不和这个有关系 但是既然查到了就改改吧
在train.py最上面加个
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’]=‘2’
再跑 python train.py
第四次报错:还是训练不动
复制一个别的地方看到的原话:
“刚遇到这个问题,程序卡在第一个epoch无法开始训练,或者有时训练了一会就卡住,后来发现是版本问题,目前使用keras-gpu2.1.2,tensorflow-gpu1.14.0,程序正常运行,
另外提醒大家开始训练后可以通过任务管理器查看GPU的占用情况,如果只占了显存其他都没占用说明GPU肯定是没有算起来的,考虑是版本问题。”
所以我把我的keras升级了一下
升级到指定版本
`pip install --upgrade keras==2.1.2`
然后重新跑 python train.py
第五次报错:FileNotFoundError: [Errno 2] No such file or directory: ‘samples/trinmy/myinfo/labelme_json/002_json/info.yaml’
有的版本的labelme缺少生成yaml文件
labelme的库文件里缺少对info.yaml的代码:
把这个加在 json_to_dataset.py 里
(我的json_to_dataset.py的路径是:C:\Users\anaconda3\envs\labelme\Lib\site-packages\labelme\cli)
(对照一下自己的 没啥加啥)
最上面要加上
import yaml
with open(osp.join(out_dir, "label_names.txt"), "w") as f:
for lbl_name in label_names:
f.write(lbl_name + "\n")
logger.warning('info.yaml is being replaced by label_names.txt')
info =