比如用fashion数据集,训练好模型后如何用该模型单独判断从网上随机下载的图片的类型
得看训练的代码,对图片进行和训练时相同的预处理。
下面是我做垃圾分类的测试代码,你可以参考改。
有帮助的话,就麻烦采纳一下
# coding=utf-8
from tensorflow.keras.preprocessing import image
from tensorflow.keras.models import load_model
import numpy as np
# import cv2
def predict(img_path):
# 把图片转换成为numpy数组
img = image.load_img(img_path, target_size=(150, 150))
img = image.img_to_array(img)
# 加载模型,加载请注意 model_path 是相对路径, 与当前文件同级。
# 如果你的模型是在 results 文件夹下的 dnn.h5 模型,则 model_path = 'results/dnn.h5'
model_path = './model_20_6type.h5'
# 加载模型
model = load_model(model_path)
# expand_dims的作用是把img.shape转换成(1, img.shape[0], img.shape[1], img.shape[2])
# 给函数增加维度
x = np.expand_dims(img, axis=0)
# 模型预测
y = model.predict(x)
# 获取labels
labels = {0:'纸板',1:'玻璃瓶',2:'金属',3:'纸',4:'塑料',5:'垃圾'}
predict = labels[np.argmax(y)]
print('识别结果:',predict)
# 返回图片的类别
return predict
img_path = './content/33.jpg'
# frame = cv2.imread(img_path)
predict(img_path)