65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 OpenVINO™ 工具包,携带您自己的数据集并重新训练 TensorFlow 模型

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2022 年 6 月 23 日

CPOL

3分钟阅读

viewsIcon

6194

在本文中,我们将探讨如何修改 GitHub 上的 OpenVINO™ Notebooks 代码仓库,使用不同的数据集重新训练相同的模型。

机器学习需要我们拥有现有的数据 — 不是我们的应用程序运行时将使用的数据,而是用来学习的数据。实际上,您需要大量的真实数据,越多越好。您提供的示例越多,计算机应该就越能学习。这是使算法训练成为可能的最关键的方面,并解释了为什么机器学习在最近几年变得如此受欢迎。

GitHub 上的 OpenVINO™ Notebooks 代码仓库是可直接运行的 Jupyter Notebooks 的集合,用于学习和试验 OpenVINO™ 工具包。这些 notebook 提供了 OpenVINO™ 基础知识的介绍,并教导开发人员如何利用我们的 API 进行优化的深度学习推理。其中一个示例是一个名为 301-tensorflow-training-openvino.ipynb 的 notebook,您可以在其中使用 TensorFlow* 训练模型,然后分别在原生 TensorFlow 和使用 OpenVINO™ 工具包中运行它。它演示了一个端到端的深度学习训练教程,该教程借鉴了 TensorFlow 图像分类教程中的开源代码,演示了如何训练模型并转换为 OpenVINO™ 中间表示 (IR)。它利用了 tf_flowers 数据集,其中包括约 3,700 张花朵照片。

但是,如何修改此 notebook,使用不同的数据集重新训练相同的模型。比如说,您想使用水果数据集而不是花朵,重新训练相同的模型并在此新数据集上运行推理。需要进行哪些更改?

让我们选择一个有趣的新数据集 Fruits-360。它是一个包含水果和蔬菜图像的数据集。与名称不同,它不是另一个 360 种水果的数据集,而是一个包含 131 种水果和蔬菜的集合。该数据集的创建方法是将这些水果和蔬菜安装在旋转 360 度的棍子上,因此得名。查看研究论文,了解这些数据集图像是如何经过后处理并为训练和测试目的准备的。

为了设置基线,请使用花朵数据集中的样本启动现有的 notebook 并运行推理。

# Pre-process the image and get it ready for inference

inp_img_url = "https://upload.wikimedia.org/wikipedia/commons/4/48/A_Close_Up_Photo_of_a_Dandelion.jpg"

file_path = Path("output")/Path("A_Close_Up_Photo_of_a_Dandelion.jpg")

input_image = pre_process_image(file_path)

# Run inference on the input image

res = compiled_model([input_image])[output_layer]

score = tf.nn.softmax(res[0])

# Show the results

image = Image.open(file_path)

plt.imshow(image)

print("This image most likely belongs to {} with a {:.2f} percent confidence.".format(class_names[np.argmax(score)], 100 * np.max(score)))

这是这张花朵样本图像的分类结果

现在,要使用 Fruits-360 数据集,需要在 Jupyter notebook 中进行一些显而易见的修改,以及一些技术上的调整。下表显示了所需的第一个级别的更改,您会注意到最显着的差异之一是图像大小。 Fruits-360 数据集包含大小为 100x100 像素的图像。

应用所有必要的代码更改,在新训练的模型上运行推理,并尝试对任何水果或蔬菜进行分类结果,例如,从数据集中选择下面的红土豆或花椰菜图像。

要了解所有代码更改并学习完成此操作所需的步骤,请参加一个免费的 20 分钟教程,标题为“BYOD - 使用您自己的数据集重新训练 Tensorflow 模型”。它托管在 Intel Learning 门户上,该门户上有大量关于 AI 的课程供您选择。只需注册即可,还有一个为 OpenVINO™ 新手准备的完整课程,这是一个 10 部分的学习计划,以及许多新推出的培训课程。祝您学习愉快!

资源

© . All rights reserved.