DeeplabV3的评估和可视化是否完成?

时间:2018-10-06 09:58:10

标签: tensorflow machine-learning

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

  

python deeplab / train.py \       --logtostderr \       --training_number_of_steps = 30000 \       --train_split =“火车” \       --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-master / research / deeplab / datasets / pascal_voc_seg / tfrecord

执行上述命令后,它正确地找到了一个检查点,但此后它仍停留在此消息中

  

“正在等待检查站   主页/ ktpl13 /桌面/ 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-master / research / deeplab / datasets / pascal_voc_seg / tfrecord /

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

  

“正在等待检查站   主页/ ktpl13 /桌面/ models-master / research / deeplab / datasets / pascal_voc_seg / exp / train_on_train_set / train /“

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

现在我的问题是

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

2 个答案:

答案 0 :(得分:2)

关于等待另一个检查点的评估,是因为默认值希望与训练过程一起运行。要只运行一次eval脚本,请在训练后将此标志添加到eval.sh脚本中:

--max_number_of_evaluations = 1

您可以使用TensorBoard查看该值。

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

答案 1 :(得分:0)

为了将来参考,我遇到了同样的问题。我发现发生了什么事后,我笑得很开心。

评估和可见性均符合预期。

对于eval,在“等待检查点”输出的上方,应该有一行显示“ miou(此处的模型精度)”,这是一条很小的线,很容易错过。

对于vis,您将在vis命令中提供的vis logdir中找到细分结果。

更深入地,评估和可视化均已成功分析了您训练过的网络,并且作为一项功能,如果您决定训练更多网络进行比较,他们将等待更多的检查点。