首页 > 解决方案 > DeeplabV3的评估和可视化完成与否?

问题描述

免责声明:我第一次尝试机器学习!我们需要从背景中自动分割图像中的对象。通过互联网,我们发现“深度实验室”将解决我们的目的。我们从他们的官方网站下载了 deeplab,并按照他们提到的所有说明进行操作。我们使用以下命令训练了 pascal_voc_2012 数据集

python deeplab/train.py \ --logtostderr \ --training_number_of_steps=30000 \ --train_split="train" \ --model_variant="xception_65" \ --atrous_rates=6 \ --atrous_rates=12 \ --atrous_rates=18 \ --output_stride=16 \ --decoder_output_stride=4 \ --train_crop_size=513 \ --train_crop_size=513 \ --train_batch_size=1 \ --dataset="pascal_voc_seg" \ --tf_initial_checkpoint=/home/ktpl13/Desktop/ models-master/research/deeplab/datasets/pascal_voc_seg/checkpoint \ --train_logdir=/home/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_train_set/train$ \ --dataset_dir=/home /ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/tfrecord

训练在 50 小时后完成。然后我使用以下命令开始评估

python deeplab/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=/home/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/ exp/train_on_train_set/train/\--eval_logdir=/home/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_train_set/eval/\--dataset_dir=/home/ktpl13/Desktop/models-硕士/研究/deeplab/数据集/pascal_voc_seg/tfrecord

执行上述命令后,它正确找到了一个检查点,但之后一直显示此消息

“在家等待检查点/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_train_set/train/”

所以我在 2 小时后终止了 Eval 的执行,并使用以下命令开始可视化

python deeplab/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 \ --vis_crop_size=513 \ --dataset="pascal_voc_seg" \ --checkpoint_dir=/home/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/ exp/train_on_train_set/train/\--vis_logdir=/home/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_train_set/vis/\--dataset_dir=/home/ktpl13/Desktop/models-硕士/研究/deeplab/数据集/pascal_voc_seg/tfrecord/

可视化还针对一个检查点执行,然后再次收到与 Eval 相同的消息。

“在家等待检查点/ktpl13/Desktop/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_train_set/train/”

我再次终止了 vis 的执行。在 vis 下生成了一个名为“segmentation_results”的文件夹,其中包含每个输入图像的“prediction.png”。这是“完全黑色的图像”。

现在我的问题是。

  1. 我的评估和可视化完成了吗?还是我做错了什么?
  2. 为什么预测的图像都是黑色的?

标签: tensorflowmachine-learning

解决方案


关于 eval 等待另一个检查点,这是因为默认期望与 train 进程一起运行。要仅运行一次 eval 脚本,请在训练后将此标志添加到 eval.sh 脚本:

--max_number_of_evaluations = 1

您可以使用 TensorBoard 查看值。

vis.sh 脚本在将图像保存到目录时似乎运行正常。所有黑色图像的问题是一个不同的问题(例如:数据集配置、标签权重、颜色图删除等)。


推荐阅读