Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TensorFlow.js发布:使用JS进行机器学习并在浏览器中运行

TensorFlow.js发布:使用JS进行机器学习并在浏览器中运行

作者头像
AiTechYun
发布于 2018-07-27 02:49:29
发布于 2018-07-27 02:49:29
2K00
代码可运行
举报
文章被收录于专栏:ATYUN订阅号ATYUN订阅号
运行总次数:0
代码可运行

AiTechYun

编辑:yuxiangyu

TensorFlow官方团队近日发布多个重大更新,其中包括:为python开发者提供的,可以立即评估操作并且无需额外图形构建步骤的eager execution;可以促进机器学习模型可重用部分的发布、发现和使用的TensorFlow Hub;针对移动和嵌入式设备的轻量级解决方案TensorFlow Lite;Swift的TensorFlow开源;面向JavaScript开发者的新机器学习框架TensorFlow.js!

介绍

TensorFlow.js是为JavaScript开发者准备的开源库,可以使用JavaScript和高级图层API完全在浏览器中定义,训练和运行机器学习模型!如果你是一名机器学习新手,那么TensorFlow.js是开始学习的好方法。

浏览器内的机器学习

在浏览器中完全由客户端运行的机器学习程序将会解锁新的机会,如交互式机器学习!例如下方链接中的吃豆人游戏。

使用神经网络将你的摄像头变成PAC-MAN的控制器

如果你想尝试其他游戏,可以使用手机上的浏览器玩Emoji Scavenger Hunt。

从用户的角度来看,在浏览器中运行的ML意味着不需要安装任何库或驱动程序。只需打开网页,你的程序就可以运行了。此外,它已准备好使用GPU加速运行。TensorFlow.js自动支持WebGL,并在GPU可用时会加速代码。用户也可以通过移动设备打开你的网页,在这种情况下,模型可以利用传感器数据,例如陀螺仪或加速度传感器。最后,所有数据都保留在客户端上,使得TensorFlow.js可用于低延迟推理以及隐私保护程序。

你可以用TensorFlow.js做什么?

如果使用TensorFlow.js进行开发,可以考虑以下三种工作流程。

  • 你可以导入现有的预训练的模型进行推理。如果你有一个现成的TensorFlow或Keras模型,则可以将其转换为TensorFlow.js格式,并将其加载到浏览器中进行推理。
  • 你可以导入的模型进行再训练。就像上面的吃豆人演示一样,你可以使用迁移学习来增强现有预训练好的离线模型(使用在浏览器中收集的少量数据),使用的技术称为图像再训练(Image Retraining)。这是只使用少量数据,快速训练准确模型的一种方法。
  • 直接在浏览器中创作模型。你还可以使用TensorFlow.js,完全在浏览器中使用Javascript和高级层API定义,训练和运行模型。如果你熟悉Keras,那么高级层API应该也会很熟悉。

让我们看看代码

如果你愿意,可以直接到示例或教程开始。

示例:https://github.com/tensorflow/tfjs-examples

教程:http://js.tensorflow.org/

以下内容展示了如何在浏览器中导出用Python定义的模型进行推理,以及如何完全用Javascript定义和训练模型。这是定义一个神经网络来对花朵进行分类的代码片段,就像在TensorFlow.org的入门指南中一样(也就是说分类鸢尾花)。在这里我使用一堆层定义一个模型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import * as tffrom ‘@tensorflow/tfjs’;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const model= tf.sequential();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model.add(tf.layers.dense({inputShape: [4], units:100}));
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model.add(tf.layers.dense({units:4}));
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
model.compile({loss: ‘categoricalCrossentropy’, optimizer: ‘sgd’});

我们在此使用的层API支持在示例目录中能找到的所有Keras层(包括Dense,CNN,LSTM等)。然后,我们可以使用与方法调用相同的 Keras-compatible API来训练我们的模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
await model.fit(
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  xData, yData, {
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    batchSize: batchSize,
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    epochs: epochs
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
});

这个模型现在可以用来做预测了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Get measurementsfor a new flower to generate a prediction
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// The first argumentis the data,and the secondis the shape.
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const inputData= tf.tensor2d([[4.8,3.0,1.4,0.1]], [1,4]);
代码语言:javascript
代码运行次数:0
运行
复制
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Get the highest confidence predictionfrom our model
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const result= model.predict(inputData);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const winner= irisClasses[result.argMax().dataSync()[0]];
代码语言:javascript
代码运行次数:0
运行
复制
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Display the winner
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(winner);

TensorFlow.js还包含底层API(以前称为deeplearn.js)并支持Eager execution。

TensorFlow.js API

TensorFlow.js如何与deeplearn.js关联?

TensorFlow.js属于JavaScript生态系统,实现其进行机器学习的工具,继承自deeplearn.js(即TensorFlow.js Core)。TensorFlow.js还包含一个Layers API,它是使用Core构建机器学习模型的高级库,并且也是用于自动移植TensorFlow SavedModels和Keras hdf5模型的工具。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ATYUN订阅号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端开发行业真的会被AI取代吗?
相信不少人看过一篇人工智能已经能实现自动编写HTML,CSS的文章,人工智能开始取代前端的一部分工作。前端开发行业真的被人工智能取代吗?
AI科技大本营
2019/07/23
2.1K0
前端入门机器学习 Tensorflow.js 简明教程
写这篇文章的目的是给现有web开发的同事提供一些新的开发方向,认识新的js开发领域!
一只图雀
2020/11/03
4.3K0
前端入门机器学习 Tensorflow.js 简明教程
【TensorFlow开发者峰会】重磅发布TensorFlow.js,完全在浏览器运行机器学习
【新智元导读】北京时间3月31日举行的2018 TensorFlow 开发者峰会上,TensorFlow宣布重大更新:增加支持JavaScript,并推出开源库TensorFlow.js,用户可以完全在浏览器定义、训练和运行机器学习模型。谷歌大脑负责人Jeff Dean、TensorFlow 总监 Rajat Monga等人进行了Keynote演讲。 Jeff Dean主旨演讲:用超强大的计算力,替代ML专家 北京时间3月31日举行的2018 TensorFlow 开发者峰会上,Google Brain负责
新智元
2018/05/29
7070
面向纯新手的TensorFlow.js速成课程
本课程由CodingTheSmartWay.com出品,在本系列的第一部分中,你将学到:
AiTechYun
2018/09/26
7.4K1
面向纯新手的TensorFlow.js速成课程
TensorFlow从1到2(十五)(完结)在浏览器做机器学习
TensorFlow一直努力扩展自己的基础平台环境,除了熟悉的Python,当前的TensorFlow还实现了支持Javascript/C++/Java/Go/Swift(预发布版)共6种语言。 越来越多的普通程序员,可以容易的在自己工作的环境加入机器学习特征,让产品更智能。
俺踏月色而来
2019/05/17
9520
TensorFlow从1到2(十五)(完结)在浏览器做机器学习
【TensorFlow2.x开发—基础】 简介、安装、入门应用案例
本文介绍最新版本的TensorFlow开发与应用,目前最新版本是TensorFlow2.5.0;首先简单介绍一下TensorFlow,然后安装TensorFlow2,最后使用TensorFlow开发。
一颗小树x
2021/05/15
1.2K0
【TensorFlow2.x开发—基础】 简介、安装、入门应用案例
用 TensorFlow.js 在浏览器中训练神经网络
本文结构: 什么是 TensorFlow.js 为什么要在浏览器中运行机器学习算法 应用举例:regression 和 tflearn 的代码比较 ---- 1. 什么是 TensorFlow.js TensorFlow.js 是一个开源库,不仅可以在浏览器中运行机器学习模型,还可以训练模型。 具有 GPU 加速功能,并自动支持 WebGL 可以导入已经训练好的模型,也可以在浏览器中重新训练现有的所有机器学习模型 运行 Tensorflow.js 只需要你的浏览器,而且在本地开发的代码与发送给用户的代
杨熹
2018/06/21
1.4K0
【云+社区年度征文】浅谈 TensorFlow.js 在前端的工程化应用
Google 推出 TensorFlow.js 已有多年,JavaScript 也不知不觉成为了世界上最好的语言。相信对于大多数没接触过机器学习的前端工程师来说,都有一个共同的疑惑:TensorFlow.js 到底能做些什么?
CS逍遥剑仙
2020/11/14
3.8K0
Tensorflow实现在浏览器的深度学习
在最近的TensorFlow Dev Summit 2018大会上,Google宣布发布Tensorflow.js,这是用Javascript实现的开源深度学习框架Tensorflow。Tensorflow.js可以实现在浏览器中直接训练模型,通过使用WebGL JavaScript API获得更快的计算速度。 Tenforflow.js是由2017年8月Google发布的Javascript库deeplearn.js演化而来的。Deeplearn.js诞生于Tensorflow Playground这款由
程序你好
2018/07/20
3370
Github 项目推荐 | 面向 JS 开发者的机器学习框架 TensorFlow.js 以及相关示例
TensorFlow.js 是谷歌在 2018 TensorFlow 开发者峰会推出的开源库,它可以使用 Java 和灵活且直观的 API 在浏览器中定义、训练和运行机器学习模型。另外,TensorFlow.js 可以导入离线训练的 TensorFlow 和 Keras 模型进行预测,并可以对 WebGL 实现无缝支持。
AI研习社
2018/07/26
6490
Github 项目推荐 | 面向 JS 开发者的机器学习框架 TensorFlow.js 以及相关示例
基于TensorFlow.js在浏览器上构建深度学习应用
在前面的章节,我们讨论了各种JavaScript概念和运行在浏览器上的各种深度学习框架。在本章中,我们将所有的知识付诸于实践,证明该技术的潜力。
麒思妙想
2020/07/10
1.2K0
基于Tensorflow.js实现浏览器级别的目标识别应用实践
tensorflow.js 是谷歌于今年推出的浏览器级别的深度学习框架,TensorFlow 团队在其github官网上也公开了表示基于网页的 JavaScript 库 TensorFlow.js 库框架及其相关的例子。基于该应用能训练并部署机器学习模型。
sparkexpert
2019/05/26
9670
【开源】谷歌发布deeplearn.js,浏览器端的强大机器学习库
【新智元导读】谷歌最新发布 deeplearn.js 0.1.0,这是一个开源的 WebGL 加速的 JavaScript 机器学习库,完全在浏览器中运行,不需要安装,不需要后端处理。官网已经发布一系列demo,能力强大。 机器学习(ML)已经成为越来越强大的工具,可以应用于对象识别,语言翻译,医疗等各种领域。但是,使用常用的ML库,ML系统的发展往往局限于那些拥有计算资源和技术专长的人。 PAIR(People + AI Research initiative)是一个倡议研究和重新设计人类与ML交互的计划
新智元
2018/03/22
7830
【开源】谷歌发布deeplearn.js,浏览器端的强大机器学习库
【一统江湖的大前端(9)】TensorFlow.js 开箱即用的深度学习工具
TensorFlow是Google推出的开源机器学习框架,并针对浏览器、移动端、IOT设备及大型生产环境均提供了相应的扩展解决方案,TensorFlow.js就是JavaScript语言版本的扩展,在它的支持下,前端开发者就可以直接在浏览器环境中来实现深度学习的功能,尝试过配置环境的读者都知道这意味着什么。浏览器环境在构建交互型应用方面有着天然优势,而端侧机器学习不仅可以分担部分云端的计算压力,也具有更好的隐私性,同时还可以借助Node.js在服务端继续使用JavaScript进行开发,这对于前端开发者而言非常友好。除了提供统一风格的术语和API,TensorFlow的不同扩展版本之间还可以通过迁移学习来实现模型的复用(许多知名的深度学习模型都可以找到python版本的源代码),或者在预训练模型的基础上来定制自己的深度神经网络,为了能够让开发者尽快熟悉相关知识,TensorFlow官方网站还提供了一系列有关JavaScript版本的教程、使用指南以及开箱即用的预训练模型,它们都可以帮助你更好地了解深度学习的相关知识。对深度学习感兴趣的读者推荐阅读美国量子物理学家Michael Nielsen编写的《神经网络与深度学习》(英文原版名为《Neural Networks and Deep Learning》),它对于深度学习基本过程和原理的讲解非常清晰。
大史不说话
2020/04/21
1.1K0
【一统江湖的大前端(9)】TensorFlow.js 开箱即用的深度学习工具
TensorFlow.js 入门指南:让你的JavaScript应用拥有机器学习能力
随着机器学习技术的普及,不再仅限于Python和数据科学专家。通过TensorFlow.js,你可以将强大的机器学习能力带入你的JavaScript应用中。不论是网页、移动端还是桌面应用,集成机器学习都能显著提升功能性和用户体验。在本指南中,我们将探讨如何设置TensorFlow.js,构建和训练模型,并实现实际应用。
前端达人
2024/07/10
7330
TensorFlow.js 入门指南:让你的JavaScript应用拥有机器学习能力
快速入门TensorFlow.js指南
TensorFlow.JS,之前就发现这个好玩的东东,但是一直没有时间去看,作为一名深度学习者,没有折腾的心是不行的。我们都知道深度学习在工业和实际项目中有着很好的应用,但是如果用深度学习去做些有趣的应用也是很好玩的。
老潘
2023/10/19
3830
快速入门TensorFlow.js指南
教程 | 如何利用TensorFlow.js部署简单的AI版「你画我猜」图像识别应用
我们将使用卷积神经网络(CNN)来识别不同类型的手绘图像。这个卷积神经网络将在 Quick Draw 数据集(https://github.com/googlecreativelab/quickdraw-dataset)上接受训练。该数据集包含 345 个类别的大约 5 千万张手绘图像。
机器之心
2018/07/26
2K0
教程 | 如何利用TensorFlow.js部署简单的AI版「你画我猜」图像识别应用
使用TensorFlow.js进行时间序列预测
机器学习现在越来越受欢迎,越来越多的世界人口认为它是一个神奇的水晶球:预测未来何时以及将会发生什么。该实验使用人工神经网络揭示股市趋势,并展示时间序列预测根据过去的历史数据预测未来股票价格的能力。
代码医生工作室
2019/06/22
1.9K0
推荐几款很流行的面向 Javascript 的机器学习库
⭐️ 本文首发自 前端修罗场,是一个由资深开发者独立运行的专业技术社区,我专注 Web 技术、答疑解惑、面试辅导以及职业发展。帮你评估知识点的掌握程度,获得更全面的学习指导意见,交个朋友,不走弯路,少吃亏! ---- 最近公司在研发分布式高性能的云计算平台,其中涉及到了 AI 方面的处理。所以我也在自学 Machine Learning。不过在 AI 方面的知识却是需要花功夫花时间学习的。在学习的过程中我发现了一个不错的学习教程(https://www.captainai.net/iislv/),推荐给大
前端修罗场
2022/07/29
1.7K0
在TensorFlow2.0发布前,帮你掌握TensorFlow的必备内容
【导读】AI科技大本营曾报道过,TensorFlow 2.0 已经在开发计划中了,相信在不久的将来就会和我们见面。那么现在的 TensorFlow 都有哪些功能,大家是否都全部了解呢?近日,谷歌在 Google Cloud Next 上发布了关于TensorFlow 的所有新内容,AI科技大本营已经为你准备好了~
AI科技大本营
2018/09/28
9590
在TensorFlow2.0发布前,帮你掌握TensorFlow的必备内容
推荐阅读
相关推荐
前端开发行业真的会被AI取代吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档