Deeplab v3+ несоответствие форм в кортежном компоненте
Я тренировал Deeplab v3+ на ADE20K
набор данных, и получил обученный ckpt
Jlogs и events
logs. Но когда я бегу eval.py
а также vis.py
на ADE20K
Я получил следующие ошибки о форме:
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/
Есть что-то, что я установил неправильно? Спасибо за любую помощь.
0 ответов
Убедитесь, что аргументы, используемые в вашем sh-скрипте, соответствуют аргументам, требуемым вашей текущей версией кода.
Не так давно вам приходилось передавать два отдельных значения для размера кропа, которые используются в текущей реализации.
--eval_crop_size="513,513" \
или
--vis_crop_size="513,513" \
(взято отсюда)
Надеюсь это поможет;). Если нет, попробуйте распечатать значения урожая в скрипте vis.py/eval.py и посмотрите, правильно ли они переданы.