tensorflow - 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”。这是“完全黑色的图像”。
现在我的问题是。
- 我的评估和可视化完成了吗?还是我做错了什么?
- 为什么预测的图像都是黑色的?
解决方案
关于 eval 等待另一个检查点,这是因为默认期望与 train 进程一起运行。要仅运行一次 eval 脚本,请在训练后将此标志添加到 eval.sh 脚本:
--max_number_of_evaluations = 1
您可以使用 TensorBoard 查看值。
vis.sh 脚本在将图像保存到目录时似乎运行正常。所有黑色图像的问题是一个不同的问题(例如:数据集配置、标签权重、颜色图删除等)。
推荐阅读
- python - 如何在 Django 中成功处理 POST 请求
- php - 尽管设置了 PHP 标头和 .htaccess 文件,但我收到了 CORS 错误
- java - 使用 Java 和 openCV。如何计算图像中点亮的 LED
- r - 如何过滤数据集中两个分类变量的频率?
- java - 无法解析符号“assertDoesNotThrow”
- javascript - 数组已排序,但 React 未按排序顺序呈现
- macos - Starting process from Adobe AIR requires credentials?
- apache - How can I preserve spaces (%20) when using Apache RewriteRule?
- python-3.x - 不能在数据框中使用索引
- jquery - 从 texarea 切换到 ckeditor 后,jquery 验证不起作用