Image Classifier with Tensorflow and Keras

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]是什么意思?

非常感谢你的帮助!

Tim*_*lin 5

由于您是初学者,因此您可能不知道实际上不需要为了测试: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的概率)。