怎么把文件夹里面的验证图像集输入预训练好的模型中的完整代码
时间: 2024-03-24 07:37:35 浏览: 52
使用MNIST数据集训练手写数字识别模型——**附完整代码**和**训练好的模型文件**——直接用.
5星 · 资源好评率100%
以下是一个简单的Python代码示例,演示了如何将文件夹中的验证图像集输入到预训练模型中进行推理:
```python
import os
import numpy as np
from PIL import Image
import tensorflow as tf
from tensorflow.keras.models import load_model
# 加载预训练模型
model = load_model('my_model.h5')
# 读取验证图像集
data_dir = 'validation_data'
img_height, img_width = 224, 224
num_classes = 10
# 预处理函数
def preprocess_image(img):
# 调整大小
img = img.resize((img_height, img_width))
# 转换为numpy数组
img_array = np.array(img)
# 扩展维度
img_array = np.expand_dims(img_array, axis=0)
# 预处理,归一化
img_array = tf.keras.applications.resnet50.preprocess_input(img_array)
return img_array
# 预测函数
def predict_image(img_path):
# 读取图像
img = Image.open(img_path)
# 预处理图像
img_array = preprocess_image(img)
# 预测结果
predictions = model.predict(img_array)
# 返回预测结果
return predictions
# 遍历所有图像并进行预测
for class_name in os.listdir(data_dir):
class_path = os.path.join(data_dir, class_name)
for img_name in os.listdir(class_path):
img_path = os.path.join(class_path, img_name)
# 进行预测
predictions = predict_image(img_path)
# 打印预测结果
print('Image:', img_name)
print('Predictions:', predictions)
```
在以上示例中,我们假设预训练模型是通过Keras API训练的,并且已经保存到了my_model.h5文件中。我们使用PIL库来读取图像,并使用TensorFlow自带的ResNet50预处理函数来进行图像预处理。然后,我们使用预训练模型对每个图像进行预测,并打印输出预测结果。
阅读全文