是否可以从一半的 UNet 中提取特征?
Is it possible to extract features from half of a UNet?
我有一个 3D UNet,我训练了几千个时期,现在我想在类似的数据集上做一些聚类。但是,首先我想将体积分解为一个特征集数组,并对特征而不是体积数组执行聚类。我想要 conv3d_9 (Conv3D)
的输出形状
是否可以仅从 UNet 的下半部分获取特征来提取这些特征?
假设您已经训练了您的模型,您可以使用函数 API 来实现这一点。
例如,
from tensorflow.keras.models import Model
feature_extraction_model = Model(inputs= model.inputs, outputs=model.layers[-18].output)
features_prediction = feature_extraction_model(input_3d_image)
注意-18
是conv3d_9
的索引。
您可以通过如下所示的索引或名称获取中间层
feature = model.get_layer('conv3d_9d')
我有一个 3D UNet,我训练了几千个时期,现在我想在类似的数据集上做一些聚类。但是,首先我想将体积分解为一个特征集数组,并对特征而不是体积数组执行聚类。我想要 conv3d_9 (Conv3D)
是否可以仅从 UNet 的下半部分获取特征来提取这些特征?
假设您已经训练了您的模型,您可以使用函数 API 来实现这一点。
例如,
from tensorflow.keras.models import Model
feature_extraction_model = Model(inputs= model.inputs, outputs=model.layers[-18].output)
features_prediction = feature_extraction_model(input_3d_image)
注意-18
是conv3d_9
的索引。
您可以通过如下所示的索引或名称获取中间层
feature = model.get_layer('conv3d_9d')