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

使用load_model()函数加载预训练模型的示例代码

发布时间:2024-01-03 03:31:34

使用load_model()函数加载预训练模型的示例代码:

import tensorflow as tf

# 定义模型保存路径
model_path = 'path_to_pretrained_model'

# 加载模型
model = tf.keras.models.load_model(model_path)

# 使用加载的模型进行预测
input_data = ...  # 获取待预测的输入数据
predictions = model.predict(input_data)

# 打印预测结果
print(predictions)

在上述代码中,首先需要定义要加载的预训练模型的路径,即model_path变量的值为存储预训练模型的文件路径。

接下来,使用tf.keras.models.load_model()函数加载预训练模型。这个函数会返回一个已经训练好的模型对象。可以将这个加载后的模型对象保存到一个变量(例如model)中,以便后续使用。

然后,可以使用加载的模型进行预测。将待预测的输入数据(例如input_data)作为参数传递给模型的predict()方法,可以获取预测结果。预测结果是一个包含预测值的数组。

最后,可以根据需要处理并打印预测结果。例如,通过print(predictions)语句将预测结果打印出来。

这是一个简单的加载预训练模型并进行预测的示例。

使用例子:

假设我们有一个预训练模型,用于识别手写数字。该模型已经在大量的手写数字图像数据集上进行了训练,并保存在名为digit_recognition_model.h5的文件中。

我们想要加载这个预训练模型,并使用它对一张手写数字图片进行识别。代码示例如下:

import tensorflow as tf
import numpy as np
from PIL import Image

# 定义模型保存路径
model_path = 'digit_recognition_model.h5'

# 加载模型
model = tf.keras.models.load_model(model_path)

# 加载待识别的手写数字图片
image_path = 'test_image.jpg'
image = Image.open(image_path)

# 将图像转换为模型的输入格式
image = image.resize((28, 28))  # 调整图像大小为28x28像素
input_data = np.array(image)  # 将图像转换为numpy数组
input_data = input_data.reshape((1, 28, 28, 1))  # 将图像形状调整为适合模型输入的形状

# 使用加载的模型进行手写数字识别
predictions = model.predict(input_data)

# 打印预测结果
digit = np.argmax(predictions)
print("识别结果为数字:", digit)

在这个例子中,首先定义了要加载的预训练模型的路径为digit_recognition_model.h5

然后,使用tf.keras.models.load_model()函数加载该模型,并将加载的模型保存在变量model中。

之后,加载待识别的手写数字图片test_image.jpg,并通过PIL库将图像调整为28x28像素大小。

接下来,将图像转换为输入模型的格式。这里使用numpy数组来表示图像,并将其形状调整为(1, 28, 28, 1),以便与模型的输入形状匹配。

最后,使用加载的模型对手写数字图像进行预测。预测结果是一个包含10个预测值的数组,每个值表示对应数字的概率。

然后,使用np.argmax()函数获取预测结果中概率最高的索引,即识别的数字,并通过print()语句打印识别结果。

这是一个利用加载的预训练模型对手写数字图像进行识别的例子。