使用来自 niftynet 的预训练模型时遇到问题
Trouble using pre-trained model from niftynet
我想使用 niftynet 上可用的 dense_vnet
模型进行 2 class 分割,该模型最初进行 9 class 分割
我尝试根据以下建议通过更改配置文件来仅重新训练最后一层:HOw to fine tune niftynet pre trained model for custom data
vars_to_restore = ^((?!DenseVNet\/(skip_conv|fin_conv)).)*$
num_classes = 2
错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign
requires shapes of both tensors to match. lhs shape= [2] rhs shape=
[9]
[[{{node save/Assign_8}} = Assign[T=DT_FLOAT, class=["loc:@DenseVNet/conv/conv/b"], use_locking=true, validate_shape=true,
device="/job:localhost/replica:0/task:0/device:CPU:0"](DenseVNet/conv/conv/b,
save/RestoreV2:8)]]
看来你恢复的层数太多了,有些还是设计成9分类类。检查架构并排除所有旨在分类为 9 类 的层的恢复。
我想使用 niftynet 上可用的 dense_vnet
模型进行 2 class 分割,该模型最初进行 9 class 分割
我尝试根据以下建议通过更改配置文件来仅重新训练最后一层:HOw to fine tune niftynet pre trained model for custom data
vars_to_restore = ^((?!DenseVNet\/(skip_conv|fin_conv)).)*$
num_classes = 2
错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [2] rhs shape= [9] [[{{node save/Assign_8}} = Assign[T=DT_FLOAT, class=["loc:@DenseVNet/conv/conv/b"], use_locking=true, validate_shape=true, device="/job:localhost/replica:0/task:0/device:CPU:0"](DenseVNet/conv/conv/b, save/RestoreV2:8)]]
看来你恢复的层数太多了,有些还是设计成9分类类。检查架构并排除所有旨在分类为 9 类 的层的恢复。