无法在 Google Colab 中使用 custom_object(在不同的文件中)加载模型
Unable to load model with custom_object (in a different file) in Google Colab
我训练了一个 CNN 并将其保存在我的 Google 驱动器中,现在我正在尝试加载它并使用不同的数据集对其进行测试,但是我在使用 [=26= 加载它时遇到问题].
我的代码:
from google.colab import drive
drive.mount('/content/drive')
import tensorflow as tf
import keras
newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/New_UNet.h5', custom_objects={'Metrics.dice_coef':Metrics.dice_coef,'Metrics.precision':Metrics.precision, 'Metrics.sensitivity':Metrics.sensitivity,'Metrics.specificity':Metrics.specificity})
# compile the model
newmodel.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy',Metrics.dice_coef,Metrics.precision,Metrics.sensitivity,Metrics.specificity])
newmodel.summary()
错误信息:
NameError Traceback (most recent call last)
<ipython-input-13-d14ae084fec6> in <module>()
4 import tensorflow as tf
5 import keras
----> 6 newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/New_UNet.h5', custom_objects={'Metrics.dice_coef':Metrics.dice_coef,'Metrics.precision':Metrics.precision, 'Metrics.sensitivity':Metrics.sensitivity,'Metrics.specificity':Metrics.specificity})
7
8
NameError: name 'Metrics' is not defined
Metrics 是另一个代码文件,其中包含为评估分段而创建的度量函数,它与我正在使用的其他文件位于同一驱动器文件夹中。
提前致谢!
已解决,因为预测不需要指标,可以使用以下方式加载:
newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/newmodel.h5',compile=False)
我训练了一个 CNN 并将其保存在我的 Google 驱动器中,现在我正在尝试加载它并使用不同的数据集对其进行测试,但是我在使用 [=26= 加载它时遇到问题].
我的代码:
from google.colab import drive
drive.mount('/content/drive')
import tensorflow as tf
import keras
newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/New_UNet.h5', custom_objects={'Metrics.dice_coef':Metrics.dice_coef,'Metrics.precision':Metrics.precision, 'Metrics.sensitivity':Metrics.sensitivity,'Metrics.specificity':Metrics.specificity})
# compile the model
newmodel.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy',Metrics.dice_coef,Metrics.precision,Metrics.sensitivity,Metrics.specificity])
newmodel.summary()
错误信息:
NameError Traceback (most recent call last)
<ipython-input-13-d14ae084fec6> in <module>()
4 import tensorflow as tf
5 import keras
----> 6 newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/New_UNet.h5', custom_objects={'Metrics.dice_coef':Metrics.dice_coef,'Metrics.precision':Metrics.precision, 'Metrics.sensitivity':Metrics.sensitivity,'Metrics.specificity':Metrics.specificity})
7
8
NameError: name 'Metrics' is not defined
Metrics 是另一个代码文件,其中包含为评估分段而创建的度量函数,它与我正在使用的其他文件位于同一驱动器文件夹中。
提前致谢!
已解决,因为预测不需要指标,可以使用以下方式加载:
newmodel = tf.keras.models.load_model('/content/drive/My Drive/Programa2/newmodel.h5',compile=False)