我正在尝试让图像分类器工作。到目前为止,该模型似乎确实有效,但现在每次我想测试图像以查看它是否被正确识别时,我都必须重新进行整个训练。我对此非常陌生,但我想应该有另一种方法来只测试图像而不经过训练,对吗?
我还有一个关于代码本身的问题。
if result [0][0] >= 0.5:
prediction = "cogwheel"
else:
prediction = "not a cogwheel"
print(prediction)我试图区分代表齿轮的图像和不代表齿轮的图像,我知道如果概率> 0,5它就是齿轮,否则就不是齿轮。但是这里是什么意思呢?
非常感谢你的帮助!
发布于 2019-05-02 22:36:13
由于你是一个初学者,你可能不知道你实际上不需要为了测试而重新训练模型:D.你的直觉是正确的,我们将在下面看到你如何做到这一点。
可以将模型的权重保存为特定的文件格式。在Keras中,它是一个扩展名为.hdf5的文件。
from tensorflow.keras.models import load_model
##Do some stuff, train model
model.save(model_name)
##Do some stuff
loaded_model = load_model(model_name)请确保"model_name“中包含.hdf5。例如,"my_model.hdf5“。
虽然不清楚您使用什么来获得结果(我假设result = model.predict( sample ),其中sample是测试样本),但第一个索引对应于类( label ),第二个标签对应于该特定类的概率。
测试以查看结果(0级的概率),result1 (1级的概率)。
https://stackoverflow.com/questions/55954602
复制相似问题