📜  Tensorflow.js tf.eye()函数

📅  最后修改于: 2022-05-13 01:56:44.533000             🧑  作者: Mango

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 = 2numColumns = 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