接上一篇博客 win10下用Deeplabv3+训练VOC数据集(二)
验证Tensorflow-gpu是否安装成功
import tensorflow as tf
tf.test.is_gpu_available()
>>>
True #结果为true表示安装成功
运行eval.py碰到的问题,及解决办法
运行eval.py
时出现Waiting for new checkpoint at ./model.ckpt-1000
一直卡住不动的问题,主要分为两个方面
from deeplab.datasets import segmentation_dataset
ImportError: cannot import name 'segmentation_dataset'
from deeplab.utils import input_generator
ImportError: cannot import name 'input_generator'
分别复制r1.12.0branch
中 deeplab/datasets
下的 segmentation_dataset.py
和 deeplab/utils
下的 input_generator.py
到master branch
的对应位置就可
- 我按照1的步骤改完了还是一直卡住不动,查看别人代码发现我的
checkpoint_dir
一直写错了,应该是上一步训练完保存中间结果的文件夹,而不是文件夹里边保存的模型
cd C:\Program Files\Anaconda3\envs\tf5_py36
call activate tf5_py36
cd F:\mx_matting\models-master\research\deeplab
python eval.py ^
--logtostderr ^
--eval_split="val" ^
--model_variant="xception_65" ^
--atrous_rates=6 ^
--atrous_rates=12 ^
--atrous_rates=18 ^
--output_stride=16 ^
--decoder_output_stride=4 ^
--eval_crop_size=513 ^
--eval_crop_size=513 ^
--dataset="pascal_voc_seg" ^
--checkpoint_dir=./checkpoint ^ #模型的文件夹
--eval_logdir=./checkpoint ^ #结果输出路径
--dataset_dir=./datasets/tfrecord #验证集tfrecord文件所在路径
PAUSE
eval.py
卡住不动、一直等待这个问题还是参考这位大神最后解决成功的!
搞了两天,终于解决!
运行vis.py碰到的问题,及解决办法
同样在models-master\research\deeplab
目录下建立批处理文件X-vis.py
echo "Start vis..."
cd C:\Program Files\Anaconda3\envs\tf5_py36
call activate tf5_py36
cd F:\mx_matting\models-master\research\deeplab
python vis.py ^
--logtostderr ^
--vis_split="val" ^
--model_variant="xception_65" ^
--atrous_rates=6 ^
--atrous_rates=12 ^
--atrous_rates=18 ^
--output_stride=16 ^
--decoder_output_stride=4 ^
--vis_crop_size=513,513 ^
--dataset="pascal_voc_seg" ^
--checkpoint_dir=./checkpoint ^ #保存模型的文件夹
--vis_logdir=./checkpoint ^ #可视化结果的保存路径,会在chackpoint下产生raw_segmentation_results、segmentation_results两个文件夹
--dataset_dir=./datasets/tfrecord ^ #测试集tfrecord文件所在路径
--also_save_raw_predictions=True #保存分割结果
PAUSE
在运行过程中碰到和train.py
相同的问题,出现这个错误
IndexError: list index out of range
这是因为很多博主都是这样写的
--vis_crop_size=513
--vis_crop_size=513
改为
--vis_crop_size=513,513
就可以了。
现在想通了这个问题,因为train.py
和vis.py
都是在master branch
下载的,上一步的eval.py
是从r1.12.0 branch
复制过来的,不同的branch
,命令语法会有差别
#在master branch下,这样写
--vis_crop_size=513,513
#在r1.12.0 branch下,这样写
--vis_crop_size=513
--vis_crop_size=513