TensorFlow CPU

TensorFlow CPU 软件包可以按如下方式导入:

import * as tf from '@tensorflow/tfjs-node'

从此软件包导入 TensorFlow.js 时,您导入的模块将由 TensorFlow C 二进制文件加速并在 CPU 上运行。CPU 上的 TensorFlow 使用硬件加速来加速后台的线性代数运算。

此软件包可以在支持 TensorFlow 的 Linux、Windows 和 Mac 平台上运行。

注:您不必导入 '@tensorflow/tfjs' 或者将其添加到您的 package.json 中。它由 Node 库间接导入。

TensorFlow GPU

TensorFlow GPU 软件包可以按如下方式导入:

import * as tf from '@tensorflow/tfjs-node-gpu'

与 CPU 软件包一样,您导入的模块将由 TensorFlow C 二进制文件加速,但是它将在支持 CUDA 的 GPU 上运行张量运算,因此只能在 Linux 平台上运行。此绑定比其他绑定选项至少快一个数量级。

注:此软件包目前仅适用于 CUDA。在选择本方案之前,您需要在带有 NVIDIA 显卡的的计算机上安装 CUDA。

注:您不必导入 '@tensorflow/tfjs' 或者将其添加到您的 package.json 中。它由 Node 库间接导入。

普通 CPU

使用普通 CPU 运算运行的 TensorFlow.js 版本可以按如下方式导入:

import * as tf from '@tensorflow/tfjs'

此软件包与您在浏览器中使用的软件包相同。在此软件包中,运算在 CPU 上以原生 JavaScript 运行。此软件包比其他软件包小得多,因为它不需要 TensorFlow 二进制文件,但是速度要慢得多。

由于此软件包不依赖于 TensorFlow,因此它可用于支持 Node.js 的更多设备,而不仅仅是 Linux、Windows 和 Mac 平台。

生产考量因素

Node.js 绑定为 TensorFlow.js 提供了一个同步执行运算的后端。这意味着当您调用一个运算(例如 ​​tf.matMul(a, b)​​)时,它将阻塞主线程,直到运算完成。

因此,绑定当前非常适合脚本和离线任务。如果您要在正式应用(例如网络服务器)中使用 Node.js 绑定,应设置一个作业队列或设置一些工作进程线程,以便您的 TensorFlow.js 代码不会阻塞主线程。

API

一旦您在上面的任何选项中将软件包作为 tf 导入,所有普通的 TensorFlow.js 符号都将出现在导入的模块上。

tf.browser

在普通的 TensorFlow.js 软件包中,​​tf.browser.*​​ 命名空间中的符号将在 Node.js 中不可用,因为它们使用浏览器特定的 API。

目前,存在以下 API:

  • tf.browser.fromPixels
  • tf.browser.toPixels

tf.node

两个 Node.js 软件包还提供了一个名为 ​​tf.node​​ 的命名空间,其中包含 Node 特定的 API。

TensorBoard 是一个值得注意的 Node.js 特定的 API 示例。

在 Node.js 中将摘要导出到 TensorBoard 的示例:

const model = tf.sequential();model.add(tf.layers.dense({ units: 1, inputShape: [200] }));model.compile({  loss: 'meanSquaredError',  optimizer: 'sgd',  metrics: ['MAE']});// Generate some random fake data for demo purpose.const xs = tf.randomUniform([10000, 200]);const ys = tf.randomUniform([10000, 1]);const valXs = tf.randomUniform([1000, 200]);const valYs = tf.randomUniform([1000, 1]);// Start model training process.async function train() {  await model.fit(xs, ys, {    epochs: 100,    validationData: [valXs, valYs],    // Add the tensorBoard callback here.    callbacks: tf.node.tensorBoard('/tmp/fit_logs_1')  });}train();

9 Node 中的 TensorFlow.js相关推荐

  1. JavaScript玩转机器学习:Node 中的 TensorFlow.js

    JavaScript玩转机器学习:Node 中的 TensorFlow.js TensorFlow CPU TensorFlow CPU 包,可以按如下方式导入: import * as tf fro ...

  2. python 加载动图_在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)...

    大数据文摘授权转载自数据派THU 作者:MOHD SANAD ZAKI RIZVI 本文主要介绍了: TensorFlow.js (deeplearn.js)使我们能够在浏览器中构建机器学习和深度学习 ...

  3. 独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)

    作者:MOHD SANAD ZAKI RIZVI 翻译:吴金笛 校对:丁楠雅 本文约5500字,建议阅读15分钟. 本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建 ...

  4. linux tensorflow demo_独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)...

    作者:MOHD SANAD ZAKI RIZVI 翻译:吴金笛 校对:丁楠雅 本文约5500字,建议阅读15分钟. 本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建 ...

  5. 在浏览器中使用tensorflow.js进行人脸识别的JavaScript API

    作者 | Vincent Mühle 编译 | 姗姗 出品 | 人工智能头条(公众号ID:AI_Thinker) [导读]随着深度学习方法的应用,浏览器调用人脸识别技术已经得到了更广泛的应用与提升.在 ...

  6. 在微信小程序中引用tensorflow.js坑向总结(一)

    各种坑 1. Error:No backend found in registry 2. Error: This application has not registered any plugins ...

  7. 用 TensorFlow.js 在浏览器中训练一个计算机视觉模型(手写数字分类器)

    文章目录 Building a CNN in JavaScript Using Callbacks for Visualization Training with the MNIST Dataset ...

  8. 用TensorFlow.js在浏览器中进行实时语义分割 | MixLab算法系列

    语义分割是监测和描绘图像中每个感兴趣对象的问题 当前,有几种方法可以解决此问题并输出结果 如下图示: 语义分割示例 这种分割是对图像中的每个像素进行预测,也称为密集预测. 十分重要且要注意的是,同一类 ...

  9. js 只准输入数字_基于TensorFlow.js的JavaScript机器学习

    Credits: aijs.rocks 虽然python或r编程语言有一个相对容易的学习曲线,但是Web开发人员更喜欢在他们舒适的javascript区域内做事情.目前来看,node.js已经开始向每 ...

最新文章

  1. Virtual Lab. For Probability and Statistics
  2. python from __future__ import division的作用
  3. dedecms的自定义模块
  4. vb鼠标涂鸦板的制作
  5. python图形界面教程_图形教程
  6. IDEA——Maven的配置与使用
  7. 解决Windows Server2008 R2中IE开网页时弹出阻止框(Windows Server2008网页无法打开的问题)...
  8. C中的位域与大小端问题
  9. kotlin密封类_Kotlin密封级
  10. Mac 上设置文件共享教程
  11. mysql的常见命令与语法规范
  12. 微信绑定的卡服务器,微信亲属卡有什么作用 微信亲属卡怎么绑定
  13. Introduction to 3D Game Programming with Directx12系列小结
  14. cosh和acosh--双曲余弦和反双曲余弦函数
  15. 系统性谈谈软件可靠性——第1讲:软件可靠性基础概念
  16. 网站安全防护措施有哪些
  17. python中sys模块下载_python模块:sys模块
  18. Crashing Robots
  19. Python- sklearn之最小二乘法
  20. 零基础入门金融风控-贷款违约预测_Task1

热门文章

  1. 编程书籍阅读随谈(第一篇)
  2. 【sql绕过】Bypass waf notepad of def
  3. 20160809下午14:00公司断网处理过程(网络架构VSS模式)
  4. 老题新理解-在话winform之间的窗体传值
  5. 欣赏下国外人css3打造的载入动画
  6. C++中内存泄漏的检测
  7. POJ 2425 A Chess Game(有向图SG函数)题解
  8. sqlserver的存储过程
  9. [原创]纯CSS3打造的3D翻页翻转特效
  10. 在整个数据库搜索某个字符串在哪个表的哪个字段中