首页 猫咪百科 繁殖知识 猫咪喂养 美毛护理 训练技巧 猫咪资讯

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

2019-06-20

点击上方关注,All in AI中国

本文将介绍如何使用迁移学习使用TensorFlow机器学习平台对图像进行分类。

在机器学习环境中,迁移学习是一种技术,使我们能够重用已经训练的模型并将其用于另一个任务。 图像分类是将图像作为输入并为其分配具有概率的类(通常是标签)的过程。 该过程使用深度学习模型,即深度神经网络,或更详细的卷积神经网络(CNN)。 CNN由多个层组成,这些层中的每一个都负责学习和识别特定特征。 下层可以识别零件,边缘等。 最终图层确定图像类别。

现代图像识别模型具有数百万个参数,并且需要大量计算能力来训练模型。 使用迁移学习,可以使用自定义图像集重新训练网络的最后一层,并重用所有剩余模型而无需更改。 使用迁移学习可以大大减少训练模型所需的时间。 机器学习的另一个有趣的好处是我们不需要大型图像数据集来训练新模型,因为几乎所有模型都已经过训练。

本文将介绍如何使用TensorFlow进行转移学习。

安装TensorFlow

第一步是设置我们将在本文中使用的环境。有几种方法可以开始使用Tensorflow,最简单快速的方法是使用Docker:

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

在顶部菜单上选择SCALARS以评估模型

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

列车精度是系统用于训练模型的图像分类精度。验证精度是指训练过程中未使用的图像的精度。验证精度是模型的"真实"精度。通常,它应该小于列车精度。

如果列车精度高而验证精度低,则创建的模型过度拟合。这意味着该模型不能很好地概括测试数据。相反的情况下,模型也是不合适的,所以我们可以改进它。

下图为熵,该曲线应该减少。

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

如何测试TensorFlow模型

模型达到要求后,我们就可以测试它:

bazel-bin/tensorflow/examples/label_image/label_image 
--graph=/tensor_flow/cats_retrained.pb
--image=/tmp/lab1.jpg
--input_layer=Mul
--output_layer=final_result
--labels=/tensor_flow/cats_labels.txt

用下面的图像来测试模型:

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

结果如下所示:

你的猫是什么猫?一起用TensorFlow机器学习测试猫品种!

如您所见,模型正确检测到了猫的品种。

摘要

希望您通过本文了解了有关如何使用迁移学习创建自定义模型的知识。如果要在其他方案(例如移动应用程序)中使用此模型,则应考虑使用其他体系结构模型(即Mobilenet)。

编译出品

热门文章

随机推荐

推荐文章