引 言
在本文中,你将学习如何建立一个简单的“可学习机器”。这是一个自定义的图像分类器,你将使用 TensorFlow.js 这个强大而灵活的 Javascript 机器学习库,在浏览器中即时训练。首先,你将加载并运行一个名为 MobileNet 的流行的预训练模型来在浏览器中进行图像分类。然后,你将使用“迁移学习”技术,这项技术将使用预训练好的 MobileNet 模型为你的应用定制以及引导训练。
你将学到什么?
√ 如何加载预训练的 MobileNet 模型并对新数据进行预测
√ 如何通过网络摄像头进行预测
√ 如何使用 MobileNet 模型的内部激活值,在一套由网络摄像头动态定义的新类上做迁移学习
让我们开始吧!
准备
你将需要如下准备:
1.Chrome 或其他现代浏览器的最新版本。
2.一个文本编辑器,可以在你的机器上本地运行,也可以通过 Codepen 或 Glitch 等在 Web 上运行。
3.了解 HTML、CSS、JavaScripe 和 Chrome 开发者工具(或你首选浏览器的开发者工具)。
4.理解神经网络的高级概念。如果你需要一个介绍或回顾,可以考虑观看 3blue1brown 的视频。
加载 TensorFlow.js
和 MobileNet 模型
在编辑器中打开 index.html 并添加以下内容:
<html>
<head>
<script src="https://unpkg.com/@tensorflow/tfjs">script>
<script src="https://unpkg.com/@tensorflow-models/mobilenet">script>
head>
<body>
<div id="console">div>
<img id="img" crossOrigin src="https://i.imgur.com/JlUvsxa.jpg" width=227 height=227/>
<script src="index.js">script>
body>
html>
在浏览器中
设置 MobileNet 用于预测
接下来,在代码编辑器中打开/创建 index.js 文件,添加以下代码:
let net;
async function app() {
console.log('Loading mobilenet..');
// 加载模型
net = await mobilenet.load();
console.log('Sucessfully loaded model');
// 通过模型预测图像