无法在Google Colab中加载带有自定义_对象(位于其他文件中)的模型

2024-05-28 21:12:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我训练了一个CNN并将其保存在我的Google Drive中,现在我正尝试加载它并使用不同的数据集进行测试,但是我在使用自定义对象加载它时遇到了问题

我的代码:

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是另一个代码文件,其中包含用于评估分段的Metrics函数,它与我正在使用的其他文件位于同一个驱动器文件夹中

提前谢谢


Tags: 代码importmodeltfdrivecontentdiceprecision
1条回答
网友
1楼 · 发布于 2024-05-28 21:12:14

解决了这个问题,因为预测不需要度量,所以可以使用以下方法加载:

newmodel =  tf.keras.models.load_model('/content/drive/My Drive/Programa2/newmodel.h5',compile=False) 

相关问题 更多 >

    热门问题