下面是关于TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片的完整攻略,包含两个示例说明。
示例1:使用训练好的模型识别猫狗图片
以下是一个使用训练好的模型识别猫狗图片的示例:
import tensorflow as tf
import numpy as np
import cv2
# 加载模型
model = tf.keras.models.load_model('cat_dog_model.h5')
# 加载图片
img = cv2.imread('cat.jpg')
img = cv2.resize(img, (150, 150))
img = np.expand_dims(img, axis=0)
# 预测图片
prediction = model.predict(img)
# 输出预测结果
if prediction[0][0] > prediction[0][1]:
print('This is a cat.')
else:
print('This is a dog.')
在这个示例中,我们首先使用tf.keras.models.load_model()
函数加载训练好的模型。然后,我们使用OpenCV库加载一张猫或狗的图片,并将其调整为模型所需的大小。接着,我们使用np.expand_dims()
函数将图片的维度扩展为(1, 150, 150, 3)
,以便于模型进行预测。最后,我们使用model.predict()
函数对图片进行预测,并根据预测结果输出猫或狗的标签。
示例2:使用训练好的模型批量识别猫狗图片
以下是一个使用训练好的模型批量识别猫狗图片的示例:
import tensorflow as tf
import numpy as np
import cv2
import os
# 加载模型
model = tf.keras.models.load_model('cat_dog_model.h5')
# 加载图片
img_dir = 'test_images'
img_list = os.listdir(img_dir)
for img_name in img_list:
img_path = os.path.join(img_dir, img_name)
img = cv2.imread(img_path)
img = cv2.resize(img, (150, 150))
img = np.expand_dims(img, axis=0)
# 预测图片
prediction = model.predict(img)
# 输出预测结果
if prediction[0][0] > prediction[0][1]:
print(img_name, 'is a cat.')
else:
print(img_name, 'is a dog.')
在这个示例中,我们首先使用tf.keras.models.load_model()
函数加载训练好的模型。然后,我们使用os.listdir()
函数获取指定目录下的所有图片文件名,并使用for
循环遍历每个图片文件。接着,我们使用OpenCV库加载图片,并将其调整为模型所需的大小。最后,我们使用model.predict()
函数对图片进行预测,并根据预测结果输出猫或狗的标签。
总结
在这个攻略中,我们介绍了如何使用训练好的模型识别猫狗图片。我们使用了TensorFlow库中的tf.keras.models.load_model()
函数加载训练好的模型,并使用OpenCV库加载图片并调整大小。在预测时,我们使用model.predict()
函数对图片进行预测,并根据预测结果输出猫或狗的标签。在实际应用中,我们可以根据具体的需求选择合适的模型和方法,以获得更好的识别效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片 - Python技术站