在本篇文章中,将探讨如何使用Teachable Machine平台进行图像识别模型的训练,并将其导出为TensorFlow Lite格式,以便在Android应用中使用。这个过程包括了模型的创建、训练参数的设置、模型的导出以及转换为TensorFlow Lite格式的步骤。
首先,需要将项目保存到Google Drive中,这样就可以直接从那里打开它,而不需要每次都加载图像。这将大大节省时间,特别是在训练模型时。
访问Teachable Machine的网页,并点击“开始使用”。或者,可以直接跳转到模型训练页面,并点击“图像项目”。
在开始之前,需要删除不需要的类别。Teachable Machine默认提供了两个类别,名为“Class 1”和“Class 2”。由于不处理分类问题,所以删除“Class 2”。
接下来,将“Class 1”重命名为一个有意义的名称,比如“Lightning”。上传数据集中的图像。
点击“训练模型”按钮。建议保持默认设置,除非想要尝试不同的设置或者确切知道想要实现什么。
训练周期(Epochs)设置为50。一个训练周期意味着训练数据集中的每个样本至少被模型训练了一次。如果训练周期设置为50,这意味着正在训练的模型将遍历整个训练数据集50次。通常,这个数字越高,模型就越能更好地学习进行预测。可能需要调整这个数字,直到得到好的预测结果,同时不要让训练过程运行太长时间。
批量大小(Batch size)设置为16。批量是一次训练迭代中使用的样本集合。例如,假设有80张图像,选择了16的批量大小。这意味着数据将被分成5个批次。一旦所有5个批次都被输入到模型中,一个训练周期就完成了。很可能不需要改变这个参数。
学习率(Learning rate)设置为0.001。要小心这个数字!学习率的微小差异可能对模型的学习效果有显著影响。如果学习率太低,模型训练将需要很长时间。如果学习率太高,模型将无法收敛到解决正在尝试解决的问题的最佳网络。
一旦训练了模型,需要将其导出。将在本文系列的后续部分中使用这个导出的模型,所以请确保记住保存它的位置。点击“导出模型”按钮并下载TFLite模型。
可以尝试预览功能——训练两个或更多的类别并比较对象检测的百分比。可以使用网络摄像头或上传一张图片来预览,以了解它是如何工作的。
点击“下载模型”按钮,将TF模型转换为Lite版本,这与Android Studio IDE兼容。
在截图中,可以看到Android示例可以处理一个或多个类别。这是一个带有GitHub项目链接的很棒的教程。
当模型正在被转换为TFLite时,可以坐下来放松一下。
完成了!zip文件已经下载,它包含了模型和标签文件。已经准备好进行Android开发了。
请注意,可以通过使用“原始”TensorFlow Python、Keras,并且至少需要中级的机器学习和深度学习概念知识,来艰难地达到这一点。选择了一条捷径。