作者:古邳东少 | 来源:互联网 | 2023-09-11 23:20
tfjs是 TensorFlow推出的一款web端的深度学习类库。TensorFlow.js 是一个开源硬件加速的JavaScript库培训和部署的机器学习模型。自开源到githu
tfjs 是 TensorFlow 推出的一款 web 端的深度学习类库。TensorFlow.js 是一个开源硬件加速的Javascript库 培训和部署的机器学习模型。自开源到 github 上以后,深受大家的希望。因此我在第一时间上手用了用,本文将分享它的一些教程。
TensorFlow.js 是 Google 发布面向 Javascript 开发者的机器学习框架。在浏览器上进行机器学习更容易了!TensorFlow 技术结合 Javascript,大幅降低开发者在浏览器发展机器学习的门槛。Google 表示,随着 Javascript 与机器学习技术的发展,在浏览器上已经可以完全进行机器学习的所有工作,包含定义、训练以及运行机器学习模型。
Google 表示,在浏览器中运行机器学习,这意味着不需要安装任何函数库或者驱动程序,只要打开网页,程序就可以运行。另外,TensorFlow.js 支持 WebGL,因此也能使用 GPU 加速运算。
TensorFlow.js 提供三种工作流程,处理各阶段的机器学习模型。
第一、开发者能将以 TensorFlow 或 Keras 预先训练好的模型,转换成 TensorFlow.js 格式,并载入到浏览器中进行推算。
第二、开发者不仅可以载入一个现有的机器学习模型,还能用从使用者浏览器中收集到的图像资料,再训练这个模型,这个技术称为 Image Retraining,Google 表示,PAC- MAN 游戏示例程序就是以这个模式进行,这方法的好处是只要使用少量的资料就能让模型变得更加精准。
当然使用者也能在浏览器中,从头开始建立一个机器学习模型,使用 TensorFlow.js 提供的 API,完全在浏览器中定义、训练以及运行模型,而这些 API 与 Keras 提供的十分相似,使用过的开发者应该可以很快上手。
TensorFlow.js 项目主页:https://js.tensorflow.org/。
TensorFlow.js 的核心概念
TensorFlow.js 是一个开源的用于开发机器学习项目的 WebGL-accelerated Java 库。TensorFlow.js 可以为你提供高性能的、易于使用的机器学习构建模块,允许你在浏览器上训练模型,或以推断模式运行预训练的模型。TensorFlow.js 不仅可以提供低级的机器学习构建模块,还可以提供高级的类似 Keras 的 API 来构建神经网络。
TensorFlow.js 的安装非常简单,我们可以直接使用 NMP 或脚本完成构建。它的使用也有非常多的文档与教程,我们只需要掌握一些基本的核心概念就能快速入手这一 JS 库。
TensorFlow.js 中的中心数据单元是张量(tensor):一维或多维数组。一个 Tensor 实例的 shape 属性定义了其数组形状(即,数组的每个维度上有多少个值)。
Tensor 主要构造函数是 tf.tensor 函数:
cOnstshape= [ 2, 3]; // 2 rows, 3 columns
cOnsta= tf.tensor([ 1.0, 2.0, 3.0, 10.0, 20.0, 30.0], shape);
a.print(); // print Tensor values
cOnstb= tf.tensor([[ 1.0, 2.0, 3.0], [ 10.0, 20.0, 30.0]]);
b.print();
Variable 使用一个张量值来初始化。然而,和 Tensor 不一样,它们的值是可变的。你可以用 assign 方法分配一个新的张量到一个已有的变量(variable):
cOnstinitialValues= tf.zeros([ 5]);
cOnstbiases= tf.variable(initialValues); // initialize biases
biases.print(); // output: [0, 0, 0, 0, 0]
cOnstupdatedValues= tf.tensor1d([ 0, 1, 0, 1, 0]);
biases.assign(updatedValues); // update values of biases
biases.print(); // output: [0, 1, 0, 1, 0]
Variable 主要用于在模型训练过程中保存和更新值。
tensorflow/tfjs
tensorFlow.js 是一个开源硬件加速的Javascript库 培训和部署的机器学习模型。
在浏览器开发毫升:使用灵活、直观的api使用低级从头构建模型 线性代数的 Javascript 库或高级层 API。
运行现有的模型:使用 tensorFlow.js 模型转换器运行既存 TensorFlow 模型正确 在浏览器中。
培训现有的模型:再培训的ML模型使用传感器数据连接到浏览器,或 其他客户端数据。
基本用法
使用 tensorFlow.js 可以在 web 页面中引入 tensorFlow.js 类库。
也可以通过 yarn 进行安装:
yarn add @tensorflow/tfjs
或者使用 npm 进行安装:
npm install @tensorflow/tfjs
下面看一个例子:
import * as tf from '@tensorflow/tfjs';
const a = tf.tensor1d([1, 2, 3]);
const b = tf.scalar(2);
const result = a.add(b);
result.data().then(data => console.log(data));
// :www.xttblog.com
console.log(result.dataSync());
import * as tf from '@tensorflow/tfjs';
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
const xs = tf.tensor2d([[1], [2], [3], [4]], [4, 1]);
const ys = tf.tensor2d([[1], [3], [5], [7]], [4, 1]);
await model.fit(xs, ys, {epochs: 500});
// :www.xttblog.com
const output = model.predict(tf.tensor2d([[5]], [1, 1]));
output.print();
更多例子和资料,请移动到官网进行学习!
: » TensorFlow.js 教程