133*_*00B 0 python image-recognition keras tensorflow
我正在尝试使图像分类器工作。到目前为止,该模型似乎确实可以正常工作,但是现在每次我要测试图像以查看图像是否被正确识别时,我都必须进行整个训练。我对此很陌生,但我想应该有另一种方法来只对图像进行测试而无需培训,对吗?
关于代码本身,我还有一个问题。
if result [0][0] >= 0.5:
prediction = "cogwheel"
else:
prediction = "not a cogwheel"
print(prediction)
Run Code Online (Sandbox Code Playgroud)
我试图区分代表齿轮的图像和不代表齿轮的图像。我知道,如果概率大于0.5,则是齿轮,否则就不是。但是[0] [0]是什么意思?
非常感谢你的帮助!
由于您是初学者,因此您可能不知道实际上不需要为了测试: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)
Run Code Online (Sandbox Code Playgroud)
请确保“ model_name”包含.hdf5。例如,“ my_model.hdf5”。
尽管不清楚您用来获取结果的方式(我假设结果= model.predict(sample),其中sample是测试样本),但第一个索引对应于class(label),第二个索引对应于机率该特定类别的人。
测试以查看结果[0] [0](类别0的概率),结果[1] [0](类别1的概率)。
归档时间: |
|
查看次数: |
99 次 |
最近记录: |