NiftyNet: индексы за пределами допустимой ошибки

Я только начинаю использовать NiftyNet для сегментации медицинских изображений. Чтобы начать работу с программным обеспечением, я пытался запустить демонстрацию, которая сегментирует изображения из набора данных Brats Challenge ( http://www.braintumorsegmentation.org/).

Я скачал Brats, данные, использовал rename_crop_brats на нем, и установите мой $PYTHONPATH. Тем не менее, когда я запускаю команду:

python net_run.py train -c train_whole_tumor_sagittal.ini --app brats_segmentation.BRATSApp --name anisotropic_nets.wt_net.WTNet

Я получаю следующее сообщение об ошибке:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Provided indices are out-of-bounds w.r.t. dense side with broadcasted shape

Я не совсем уверен, что я здесь испортил, любой совет приветствуется.

1 ответ

Решение

Эта ошибка означает, что в ваших тренировочных изображениях больше дискретных меток, чем может вывести ваша сеть. Здесь кажется, что существует более двух меток, а эта сеть настроена на двоичную классификацию.

Не могли бы вы проверить, на какой файл указывает "histogram_ref_file" в файле.ini? Он должен указывать на тот, который указан в каталоге [niftynet]/demos/BRATS17, который бинаризует маску опухоли. Этот файл должен иметь следующий текст:

labellabelfrom 0 1 2 4
labellabelto 0 1 1 1

При этом все метки опухоли присваиваются 1, а все метки фона - 0. Если вы не указали путь к этому файлу, сеть сгенерирует его автоматически, предоставив обучающим изображениям 4 дискретных класса.

Решает ли это проблему?

Другие вопросы по тегам