Tensorflow.js tf.eye()函数
Tensorflow.js是一个开源库,用于在 Javascript 中创建机器学习模型,允许用户直接在浏览器中运行模型。
tf.eye()是在类 tf 中定义的函数。张量。它用于创建一个 身份 指定行和列的矩阵。
形状为 [m, n] 的单位矩阵 由所有对角元素的值 1 和其余位置的 0 组成。
句法:
tf.eye(numRows, numColumns, batchShape, dtype)
参数:
- numRows:数量 返回单位矩阵的行。
- numColumns : 返回单位矩阵的列数。这是一个可选的 范围。如果未指定,则返回单位矩阵的形状为 [numRows, numRows]。
- batchShape:它是一个数组 它定义了将被附加到返回的单位矩阵形状开头的形状 复制 单位矩阵。这是一个 可选参数。认为 batchShape = [a, b] 那么返回的单位矩阵形状是 [a, b, numRows, numColumns]
- dtype :指定为 返回单位矩阵中元素的数据类型。它的 可选的。
返回值:它返回单位矩阵的张量。
示例 1:创建正方形单位矩阵
- 创建一个形状为 [3, 3] 的单位矩阵 通过定义 tf.eye ()方法中的 numRows = 3。
Javascript
// Dynamic loading the "@tensorflow/tfjs" module
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
// Creating an identity matrix of shape [3,3]
var matrix = tf.eye(numRows = 3)
// Printing the identity matrix
matrix.print()
Javascript
// Dynamic loading the "@tensorflow/tfjs" module
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
// Creating an identity matrix of shape [3,4]
var matrix = tf.eye(numRows = 3, numColumns = 4)
// Printing the identity matrix
matrix.print()
Javascript
// Dynamic loading the "@tensorflow/tfjs" module
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
// Creating an identity matrix of shape [2,3]
// And include batchShape = [3] to replicate identity matrix 3 times
// Shape of returning tensor is [3, 2, 3]
var matrix = tf.eye(numRows = 2, numColumns = 3, batchShape = [3])
// Printing the identity matrix
matrix.print()
输出 :
Tensor
[[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]
示例 2:创建一个矩形单位矩阵 形状
- 创建形状的单位矩阵 [3, 4] 通过定义 numRows = 3 和 tf.eye()方法中的 numColumns = 4。
Javascript
// Dynamic loading the "@tensorflow/tfjs" module
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
// Creating an identity matrix of shape [3,4]
var matrix = tf.eye(numRows = 3, numColumns = 4)
// Printing the identity matrix
matrix.print()
输出 :
Tensor
[[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0]]
示例 3:通过指定batchShape创建单位矩阵
- 通过在tf.eye()方法中定义numRows = 2和numColumns = 3创建一个形状为[2, 3]的单位矩阵。
- 通过包含batchShape = [3]将上述单位矩阵复制3 次
- 那么返回单位矩阵的形状是[3, 2, 3]
Javascript
// Dynamic loading the "@tensorflow/tfjs" module
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
// Creating an identity matrix of shape [2,3]
// And include batchShape = [3] to replicate identity matrix 3 times
// Shape of returning tensor is [3, 2, 3]
var matrix = tf.eye(numRows = 2, numColumns = 3, batchShape = [3])
// Printing the identity matrix
matrix.print()
输出 :
Tensor
[[[1, 0, 0],
[0, 1, 0]],
[[1, 0, 0],
[0, 1, 0]],
[[1, 0, 0],
[0, 1, 0]]]
参考: https://js.tensorflow.org/api/latest/#eye