使用 Teachable Machine 的机器学习模型

2025年6月20日 | 阅读 4 分钟

机器学习和人工智能正在带来新的应用。人工智能是许多组织都非常感兴趣的话题。人工智能建立在机器学习之上。然而,并非所有人都熟悉机器学习以及如何创建可用于智能的模型。不熟悉机器学习的非程序员和程序员可以创建机器学习模型并将其集成到应用程序中。这是可能的,并且正在发生。也许用户会想知道如何做到这一点。

本教程将向我们展示如何在不编写代码的情况下创建机器学习模型。

我们将创建一个模型来对食物进行分类。我们将使用一个 Kaggle 食物数据集,其中包括沙拉、土豆和蛋糕等不同的食物。您可以从 https://www.kaggle.com/cristeaioan/ffml-dataset 下载数据集。

Teachable Machine (可教授式机器学习)

是的,这可以通过可教授式机器学习的帮助实现。可教授式机器学习是一个基于网络的工具,可以快速轻松地创建模型。它可用于图像、声音和姿势识别。它也很灵活。它可用于通过图像或实时网络摄像头教授模型如何识别图像和姿势。它是免费的,最适合学生。Teachable Machine 创建一个 Tensorflow 模型,该模型可以与任何网站应用程序、Android 应用程序或其他平台集成。无需创建帐户。它非常简单。

让我们构建一个模型

第 1 步:转到 Teachable Machine:https://teachablemachine.withgoogle.com/train

我们将被引导到下面显示的屏幕,该屏幕包含三个选项 - 图像、音频和姿势。

Machine Learning Model with Teachable Machine

第 2 步:选择一个图像项目。我们将再次看到两个选项:标准或嵌入式。我们不是为微控制器制作这个,所以我们建议选择标准。如果用户感兴趣,则选择嵌入式图像模型。即使他们选择嵌入式,过程也将保持不变。唯一不同的是模型。

Machine Learning Model with Teachable Machine

点击 标准图像项目 将带我们到下面的屏幕。在这里我们可以向模型添加类。我们有两种选择:从数据库上传图像使用实时摄像头捕获图像

Machine Learning Model with Teachable Machine

第 3 步:现在创建类并上传图像。我们将只创建三个类:沙拉、土豆蛋糕。我们将 class1 替换为 沙拉,将 class2 替换为 土豆,现在 class3 称为 蛋糕。用户可以根据需要创建任意数量的类。

Machine Learning Model with Teachable Machine

上传图像后,点击 训练模型。有三个可用选项:批大小、周期学习率。这些选项我们以前从未听说过,所以如果它们对我们来说是新的,请不要惊慌。重要的是我们要玩转模型并确定哪些值能提供最佳准确性以使其更有效。如果模型不准确,它就毫无用处。我们可以调整它们的值以找到最佳模型。这里我们将使用默认值。

Machine Learning Model with Teachable Machine

第 4 步:模型训练完成后,是时候导出它了。

Machine Learning Model with Teachable Machine

当我们点击导出模型时,我们将看到几个选项。代码片段可以帮助将模型集成到我们的应用程序中。 Tensorflow.js 模型与所有 JavaScript 库和框架兼容。有些框架只支持特定类型的模型。我们将检查我们的库或框架是否支持此模型。

模型的下载可能需要一些时间。这就是我们创建机器学习模型的方式。

我们还可以像图像项目一样创建音频姿势的模型。让我们看看我们能做什么。

姿势模型

我们开始训练模型。姿势项目必须在可教授式机器学习中选择才能创建姿势模型。我们将创建两个类,一个用于坐姿,一个用于站姿。然后我们将上传图像。

Machine Learning Model with Teachable Machine

训练完成后,我们可以通过上传任何图像来预览模型的输出。这使我们可以在导出模型之前检查模型的效率和输出。下图显示我们上传用于预览的图像的输出是正确的,即坐姿。这意味着模型运行良好。

Machine Learning Model with Teachable Machine

音频模型

音频项目将创建一个能够检测声音的模型。我们创建了三个类:背景噪声、拍手雨声和雷雨声。在预览部分,训练模型后,我们使用噪声测试了模型的效率。在预览的输出中,我们可以看到更多的背景噪声。我们需要增加样本数量以改善模型的学习。

Machine Learning Model with Teachable Machine