TensorFlow.js 教程


TensorFlow

什么是 TensorFlow.js?

张量流很受欢迎JavaScript图书馆机器学习

Tensorflow 让我们能够在以下环境中训练和部署机器学习浏览器

Tensorflow 让我们可以将机器学习功能添加到任何Web应用程序

使用 TensorFlow

要使用 TensorFlow.js,请将以下脚本标记添加到您的 HTML 文件中:

示例

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.6.0/dist/tf.min.js"></script>

如果您始终想使用最新版本,请删除版本号:

示例2

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

TensorFlow 是由谷歌大脑团队供 Google 内部使用,但于 2015 年作为开放软件发布。

2019 年 1 月,Google 开发者发布了 TensorFlow.js,JavaScript 实现TensorFlow 的。

Tensorflow.js 旨在提供与用 Python 编写的原始 TensorFlow 库相同的功能。


张量

TensorFlow.js是一个JavaScript定义和操作的库张量

TensorFlow.js 中的主要数据类型是张量

张量与多维数组非常相似。

张量包含一维或多维的值:

Tensor

张量具有以下主要特性:

属性 描述
数据类型 数据类型
维数
形状 各维度的大小

有时在机器学习中,术语“方面" is used interchangeably with "

[10, 5] 是二维张量或二阶张量。

此外,术语"dimensionality" 可以指一维的大小。

示例:在二维张量 [10, 5] 中,第一维的维度为 10。



创建张量

TensorFlow 中的主要数据类型是张量

张量是从任何 N 维数组创建的tf.tensor() 方法:

示例1

const myArr = [[1, 2, 3, 4]];
const tensorA = tf.tensor(myArr);

亲自试一试 »

示例2

const myArr = [[1, 2], [3, 4]];
const tensorA = tf.tensor(myArr);

亲自试一试 »

示例3

const myArr = [[1, 2], [3, 4], [5, 6]];
const tensorA = tf.tensor(myArr);

亲自试一试 »


张量形状

张量也可以从数组和一个形状范围:

示例1

const myArr = [1, 2, 3, 4]:
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

亲自试一试 »

例2

const tensorA = tf.tensor([1, 2, 3, 4], [2, 2]);

亲自试一试 »

例3

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

亲自试一试 »


检索张量值

您可以获得数据在张量后面使用tensor.data() :

示例

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.data().then(data => display(data));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

亲自试一试 »

您可以获得数组在张量后面使用tensor.array() :

示例

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.array().then(array => display(array[0]));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

亲自试一试 »

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.array().then(array => display(array[1]));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

亲自试一试 »

您可以获得使用张量的tensor.rank:

示例

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.rank;

亲自试一试 »

您可以获得形状使用张量的tensor.shape:

示例

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.shape;

亲自试一试 »

您可以获得数据类型使用张量的tensor.dtype:

示例

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.dtype;

亲自试一试 »


张量数据类型

张量可以具有以下数据类型:

  • 布尔值
  • 整型32
  • float32(默认)
  • 复杂64
  • 字符串

创建张量时,可以指定数据类型作为第三个参数:

示例

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape, "int32");

亲自试一试 »