win10下用Deeplabv3+训练VOC数据集(三)

接上一篇博客 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一直卡住不动的问题,主要分为两个方面

  1. 代码下载时不同的branch,在验证和测试时会出现一直等待的情况,我下载的是master branch,将r1.12.0 branch的eval.py复制过来,替换原来的eval.py,此时会出现
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.0branchdeeplab/datasets 下的 segmentation_dataset.pydeeplab/utils 下的 input_generator.pymaster branch的对应位置就可

  1. 我按照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.pyvis.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

你可能感兴趣的:(Deeplabv3+,tensorflow,深度学习)