热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TensorFlow.js

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 教程

: » TensorFlow.js 教程


推荐阅读
author-avatar
古邳东少
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有