1

我已经在ADE20K数据集上训练了 deeplab v3+,并得到了训练ckpt好的 jlogs 和events日志。但是当我继续运行eval.pyvis.pyADE20K我得到了以下关于形状的错误:

Shape mismatch in tuple component 1. Expected [513,513,3], got [513,683,3]

这些是我的eval脚本和vis脚本:

eval脚本:

#!/bin/bash

cd ../

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 \
--checkpoint_dir=deeplab/datasets/ADE20K/exp/train_on_train_set/train/  \
--eval_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/eval/  \
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/ \
--max_number_of_iterations=1

vis脚本:

#!/bin/bash

cd ../

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 \
--checkpoint_dir=deeplab/datasets/ADE20K/exp/train_on_train_set/train/  \
--vis_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/vis/  \
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/ \
--max_number_of_iterations=1

还有我的train脚本:

#!/bin/bash

cd ../

python deeplab/train.py  \
--logtostderr  \
--training_number_of_steps=150000  \
--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=2  \
--min_resize_value=513  \
--max_resize_value=513  \
--resize_factor=16  \
--dataset="ade20k"  \
 --tf_initial_checkpoint=deeplab/datasets/ADE20K/init_models        /deeplabv3_xception_ade20k_train/model.ckpt.index  \
--train_logdir=deeplab/datasets/ADE20K/exp/train_on_train_set/train  \
--dataset_dir=deeplab/datasets/ADE20K/tfrecord/

有什么我设置错了吗?谢谢你的帮助。

4

1 回答 1

0

确保 sh 脚本中使用的参数与当前代码版本所需的参数匹配。

不久前,您必须为当前实现使用的裁剪大小传递两个单独的值

--eval_crop_size="513,513" \

或者

 --vis_crop_size="513,513" \

(取自这里

希望这可以帮助 ;)。如果没有尝试在 vis.py/eval.py 脚本中打印裁剪值并查看是否正确传递。

于 2019-10-14T08:42:21.097 回答