在本次分享中,利用一组汽车的数字数据来训练出一个模型进行拟合。
将展示训练的模型的通用打法,通过一个小型的数据集来训练一个简单的浅层神经网络模型的过程来进行说明。其主要目的是帮助你熟悉用 TensorFlow.js 训练模型一些关键步骤。
现在机器学习任务大致为两类,回归和分类,我们先以回归为例,所谓回归简单地说就是找到模型通过训练拟合一些具有一定规律连续数据,对新数据进行预测,这个任务有时被称为回归。数据集中数据是有标注的,所以这个任务应该属于有监督学习。
任务描述以及分解
随后会制作一个网页,然后使用 TensorFlow.js 来训练一个可以运行在浏览器端的模型。给模型输入出一辆汽车的马力,该模型通过学习可以预测出每加仑英里数(MPG)。
- 加载数据
- 定义模型
- 训练模型
- 评估模型
你会学到什么
- 如何准备数据集 (包括洗牌和规范化)
- 熟悉使用 tf.layer API ,
- 如何使用tfjs-vis 库监控浏览器内的训练
你需要具备哪些知识和做哪些准备
- 浏览器推荐使用 Chrome 运行代码
- 编译器用于写代码,推荐使用 vscode
- 对 HTML、CSS、JavaScript 和Chrome开发工具有一定了解。
- 对神经网络有一定了解
启程
创建 HTML 页面
<!DOCTYPE html>
<html>
<head>
<title>TensorFlow.js Tutorial</title>
<!-- Import TensorFlow.js -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
<!-- Import tfjs-vis -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis@1.0.2/dist/tfjs-vis.umd.min.js"></script>
</head>
<body>
<!-- Import the main script file -->
<script src="script.js"></script>
</body>
</html>
在文件夹下创建 script.js 文件,并写
console.log('Hello TensorFlow');
这里我们安装 live-server 来启动服务,然后就可以在浏览器调试输出看到上面 Hello TensorFlow
并且没有报错,好这样就迈出第一步成功安装加载 TensorFlow.js
live-server --port=5600
t1.dispose()
console.log(tf.memory().numTensors)
层的概念
// 1. 从一层输入到下一层
const model = tf.sequential()
// 3. 配置图层
const config_hidden = {
input:[3],
inputShape:"",
activation:'sigmoid',
units:4
}
const config_output = {
units:3,
activation:"sigmoid",
}
// 2. 添加图层
const hidden = tf.layers.dense(config_hidden)
const output = tf.layers.dense(config_output);
// 5.
model.add(hidden)
model.add(output)