TensorFlow.js 示例
这个仓库包含了一组使用 TensorFlow.js 实现的示例。
每个示例目录都是独立的, 因此可以直接复制到其他项目中使用。
示例概览
示例名称 | 演示链接 | 输入数据类型 | 任务类型 | 模型类型 | 训练 | 推断 | API类型 | 保存-加载操作 |
---|---|---|---|---|---|---|---|---|
abalone-node | 数字 | 从本地文件加载数据并在Node.js中进行训练 | 多层感知机 | Node.js | Node.js | 层 | 保存到文件系统并在Node.js中加载 | |
addition-rnn | 🔗 | 文本 | 序列到序列 | RNN: SimpleRNN, GRU和LSTM | 浏览器 | 浏览器 | 层 | |
addition-rnn-webworker | 文本 | 序列到序列 | RNN: SimpleRNN, GRU和LSTM | 浏览器: Web Worker | 浏览器: Web Worker | 层 | ||
angular-predictive-prefetching | 数字 | 多类分类器 | DNN | 浏览器: Service Worker | 层 | |||
baseball-node | 数字 | 多类分类 | 多层感知机 | Node.js | Node.js | 层 | ||
boston-housing | 🔗 | 数字 | 回归 | 多层感知机 | 浏览器 | 浏览器 | 层 | |
cart-pole | 🔗 | 强化学习 | 策略梯度 | 浏览器 | 浏览器 | 层 | IndexedDB | |
chrome-extension | 图像 | (部署TF.js在Chrome扩展) | Convnet | 浏览器 | ||||
custom-layer | 🔗 | (定义一个自定义层子类型) | 浏览器 | 层 | ||||
data-csv | 🔗 | 从远程CSV构建tf.data.Dataset | ||||||
data-generator | 🔗 | 使用生成器构建tf.data.Dataset | 回归 | 浏览器 | 浏览器 | 层 | ||
date-conversion-attention | 🔗 | 文本 | 文本到文本转换 | 注意力机制, RNN | Node.js | 浏览器和Node.js | 层 | 保存到文件系统并在浏览器中加载 |
electron | 图像 | (部署TF.js在基于Electron的桌面应用程序) | Convnet | Node.js | ||||
fashion-mnist-vae | 图像 | 生成性 | 变分自编码器(VAE) |
依赖项
除了 getting_started
外,所有示例都需要安装以下依赖项。
如何构建示例
转到目录
如果使用 yarn
:
cd mnist-core
yarn
yarn watch
如果使用 npm
:
cd mnist-core
npm install
npm run watch
详情
约定是每个示例都包含两个脚本:
-
yarn watch
或npm run watch
: 启动本地开发 HTTP 服务器,监视文件系统的更改,这样您就可以编辑代码(JS 或 HTML)并在刷新页面时立即看到更改。 -
yarn build
或npm run build
: 生成一个dist/
文件夹,其中包含构建制品,可用于部署。
贡献
如果您想贡献一个示例,请在发送拉取请求之前在 Github issues 上与我们联系,因为我们正努力保持这个示例集小而精选。
运行预提交测试
在发送拉取请求之前,最好运行预提交测试并确保它们全部通过。为此,请在 tfjs-examples 的根目录中执行以下命令:
yarn
yarn presubmit
yarn presubmit
命令执行所有包含 yarn test
和/或 yarn lint
脚本的示例的单元测试和 lint 检查。您还可以通过 cd 进入各自的子目录并执行 yarn
,然后执行 yarn test
和/或 yarn lint
来单独运行各个示例的测试。