解决 keras 中 model.evaluate()方法RuntimeError: You must compile your model before training/testing报错的问题

班宏毅
2023-12-01
model = keras.models.load_model("model.h5")
test_loss, test_acc = model.evaluate(test_images, test_labels)

可以看到这个代码,很符合model测试的逻辑,但是他依然会报错,我看到其他文章也有这样的代码,不清楚他们会不会报错,反正我这是出现了RuntimeError: You must compile your model before training/testing. Use `model.compile(optimizer, loss)`这样的错误。

其实解决此问题很简单:.

model = keras.models.load_model("model.h5")
# print(model.summary())
model.compile(optimizer=tf.train.AdamOptimizer(0.001),
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
test_loss, test_acc = model.evaluate(test_images, test_labels)

 我想说的是,为什莫在符合逻辑的情况下还会报错,大家注意model.compile()方法其实实在编译model中的参数,只有编译完成后才能运行,可以理解为c++编译成功后 才能运行。

 类似资料: