欢迎访问宙启技术站
智能推送

Python编写的ResNet50模型实例

发布时间:2023-12-11 03:31:32

以下是使用Python编写的ResNet50模型的示例代码:

import tensorflow as tf
from tensorflow.keras.applications.resnet50 import ResNet50

# 加载预训练的ResNet50模型
model = ResNet50(weights='imagenet')

# 加载图像
img_path = 'dog.jpg'  # 输入图像路径
img = tf.keras.preprocessing.image.load_img(img_path, target_size=(224, 224))
img = tf.keras.preprocessing.image.img_to_array(img)
img = tf.keras.applications.resnet50.preprocess_input(img)
img = tf.expand_dims(img, axis=0)

# 使用ResNet50模型进行图像分类
predictions = model.predict(img)
predicted_classes = tf.keras.applications.resnet50.decode_predictions(predictions, top=5)

# 打印预测结果
for classname, probability in predicted_classes[0]:
    print(f'{classname}: {probability * 100}%')

以上代码中,我们使用了TensorFlow的Keras库来加载和使用预训练的ResNet50模型。首先,我们通过ResNet50(weights='imagenet')加载了预训练的模型,其中weights='imagenet'表示使用在ImageNet数据集上预训练的权重。

接下来,我们加载了一个待分类的图像,并使用tf.keras.applications.resnet50.preprocess_input函数对图像进行预处理,使其适合于ResNet50模型的输入格式。然后,我们通过model.predict方法对图像进行预测,并得到了一个代表类别概率的预测向量。

最后,我们使用tf.keras.applications.resnet50.decode_predictions函数将预测向量转换为可读的类别名称和对应的概率,并打印出前五个最有可能的类别结果。

请确保代码中的dog.jpg为你想要测试的图像路径,并确保已安装好相应的Python库(如TensorFlow和Keras)。