📅  最后修改于: 2023-12-03 14:49:43.345000             🧑  作者: Mango
Mobilenet 是一种轻量级的深度神经网络,旨在在计算资源受限的设备上进行高效的图像分类。本文将介绍如何使用 Mobilenet 进行图像识别。
在使用 Mobilenet 进行图像识别之前,我们需要先安装依赖项。在 Python 中,使用以下命令安装依赖项:
pip install tensorflow tensorflow_hub numpy Pillow
使用 TensorFlow Hub,我们可以轻松地加载预先训练的 Mobilenet 模型。以下是加载模型的代码:
import tensorflow_hub as hub
model = hub.load("https://tfhub.dev/google/tf2-preview/mobilenet_v2/classification/4")
为了使用 Mobilenet 进行图像识别,我们需要将输入图像转换为适合模型的格式。以下是将图像加载到 NumPy 数组中的代码:
from PIL import Image
import numpy as np
def load_image(file_path):
img = Image.open(file_path)
img = img.resize((224, 224)) # 将图像缩放为模型的输入尺寸
img_array = np.array(img) # 将图像转换为 NumPy 数组
img_array = img_array / 255.0 # 将像素值归一化为 [0, 1]
return img_array
现在我们已经加载了模型并准备好了输入图像,我们可以使用以下代码运行模型:
import time
def predict(file_path):
start = time.time() # 记录开始时间
img_array = load_image(file_path)
result = model.predict(img_array[np.newaxis, ...]) # 对输入图像进行预测
end = time.time() # 记录结束时间
prediction = np.argmax(result) # 找到预测结果中的最大值
return prediction, end - start
最后,我们可以使用以下代码来测试模型的性能:
file_path = "test.jpg"
prediction, elapsed_time = predict(file_path)
print("Predicted class:", prediction)
print("Elapsed time:", elapsed_time)
结果将显示预测类别以及运行模型所需的时间。
使用 Mobilenet 进行图像识别非常简单,只需要几行代码就可以完成。如果您需要在资源受限的设备上进行高效的图像分类,Mobilenet 是一个不错的选择。