Я хочу сделать 2-сегментную сегментацию, используя модель density_vnet, доступную в niftynet, которая первоначально выполняет 9-сегментную сегментацию
Я попытался переобучить только последний слой, внеся изменения в конфигурационный файл в соответствии с этим предложением: КАК точно настроить предварительно обученную модель niftynet для пользовательских данных
vars_to_restore = ^((?!DenseVNet\/(skip_conv|fin_conv)).)*$ num_classes = 2
ошибка:
tenorflow.python.framework.errors_impl.InvalidArgumentError: Назначить требует формы обоих тензоров, чтобы соответствовать. lhs shape = [2] rhs shape = [9] [[{{node save / Assign_8}} = Назначить [T = DT_FLOAT, class = ["loc: @ DenseVNet / conv / conv / b"], use_locking = true, validate_shape = true, Устройства = "/ работа: локальная / реплика: 0 / задача: 0 / Устройства: ЦП: 0"] (DenseVNet / ко / ко / б, сохранение / RestoreV2: 8)]]
Похоже, вы восстановили слишком много слоев, некоторые из них все еще предназначены для классификации по 9 классам.Проверьте архитектуру и исключите восстановление для всех слоев, которые предназначены для классификации на 9 классов.