TensorFlow.js tutorial(1)简介与安装

(未经作者同意,请勿转载)

Tensorflow.js的优势

TensorFlow.js是一个开源的基于硬件加速的JavaScript库,用于训练和部署机器学习模型。谷歌推出的第一个基于TensorFlow的前端深度学习框架是deeplearning.js(现已加入Tensorflow.js的豪华午餐内容,即TensorFlow.js Core),基于浏览器和Javascript的Tensorflow.js有以下的优点:

1)不用安装驱动器和软件,通过链接即可分享程序

2)网页应用交互性更强

3)有访问GPS,Camera,Microphone,Accelerator,Gyroscope等传感器的标准api(主要是指手机端)

4)安全性,因为数据都是保存在客户端的

TensorFlow.js的应用方式:

1)在浏览器中开发ML

使用简单直观的API从头构建模型,然后使用低级别的JavaScript线性代数库或高层API进行训练。

2)运行现有模型

使用TensorFlow.js模型转换器在浏览器中运行预训练好的TensorFlow模型。

3)重新训练现有模型

使用连接到浏览器的传感器数据或其他客户端数据重新训练ML模型。

tensorflow.js 的安装和使用

在您的JavaScript项目中有两种主要的方式来获取TensorFlow.js:通过脚本标记(script tags)或从NPM(或者yarn)安装并使用Parcel,WebPack或Rollup等工具构建工程。

1)使用Script Tag

将下面的代码添加到HTML文件中,在浏览器中打开该HTML文件,代码应该运行!

<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.9.0"> </script>

    <!-- Place your code in the script tag below. You can also use an external .js file -->
    <script>
      // Notice there is no 'import' statement. 'tf' is available on the index-page
      // because of the script tag above.

      // Define a model for linear regression.
      const model = tf.sequential();
      model.add(tf.layers.dense({units: 1, inputShape: [1]}));

      // Prepare the model for training: Specify the loss and the optimizer.
      model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

      // Generate some synthetic data for training.
      const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
      const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

      // Train the model using the data.
      model.fit(xs, ys).then(() => {
        // Use the model to do inference on a data point the model hasn't seen before:
        // Open the browser devtools to see the output
        model.predict(tf.tensor2d([5], [1, 1])).print();
      });
    </script>
  </head>

  <body>
  </body>
</html>

通过NPM(或yarn)

使用yarn或npm将TensorFlow.js添加到您的项目中。 注意:因为使用ES2017语法(如import),所以此工作流程假定您使用打包程序/转换程序将代码转换为浏览器可以理解的内容。 在以后的教程中会介绍如何用Parcel构建工程,现在首先安装npm或者yarn。

yarn add @tensorflow/tfjs  
npm install @tensorflow/tfjs

在js文件中输入以下代码:

 import * as tf from '@tensorflow/tfjs';

  // Define a model for linear regression.
  const model = tf.sequential();
  model.add(tf.layers.dense({units: 1, inputShape: [1]}));

  // Prepare the model for training: Specify the loss and the optimizer.
  model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

  // Generate some synthetic data for training.
  const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
  const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

  // Train the model using the data.
  model.fit(xs, ys).then(() => {
    // Use the model to do inference on a data point the model hasn't seen before:
    model.predict(tf.tensor2d([5], [1, 1])).print();
  });
  

使用yarn/npm生成

1)yarn

cd 工作目录名
yarn
yarn watch

2)npm

cd 工作目录名
npm install
npm run watch

参考:

【1】TensorFlow.js

【2】tensorflow/tfjs

    原文作者:深度智能
    原文地址: https://zhuanlan.zhihu.com/p/35823261
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞