Tensorflow.js es una biblioteca de código abierto que está desarrollando Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
Los . La función einsum() se usa para la contracción del tensor sobre índices específicos y el producto externo.
Sintaxis:
tf.einsum (equation, tensors)
Parámetros:
- ecuación: es un primer elemento tensor de entrada que es una string que describe la contracción, en el mismo formato que numpy.einsum.
- . . . tensores: Es un segundo elemento tensor de entrada en el que la(s) entrada(s) se usa(n) para contraer (cada uno un tensor), cuyas formas deben ser consistentes con la ecuación.
Limitaciones:
- No admite 2 tensores de entrada.
- No admite ejes duplicados para ningún tensor de entrada dado. Por ejemplo, no se admite la ecuación ‘ii→’.
- La notación … no es compatible.
Valor devuelto: Devuelve tf.tensor.
Ejemplo 1: En este ejemplo, estamos hablando de casos especiales como la multiplicación de arrays.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining the first tensor input elements const a = tf.tensor2d([[1, 1, 3], [4, 3, 6]]); // Defining the second input tensor elements const b = tf.tensor2d([[1, 1], [2, 3], [4, 5]]); // Calling the einsum() function and printing outputs tf.einsum('ij,jk->ik', a, b).print();
Producción:
Tensor [[14, 19], [30, 43]]
Ejemplo 2: En este ejemplo, estamos hablando de casos especiales como el producto de punto.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining the first input elements const x = tf.tensor1d([1, 1, 3]); // Defining the second input elements const y = tf.tensor1d([1, 1, 2]); // Calling the einsum() function // and printing outputs tf.einsum('i,i->', x, y).print();
Producción:
Tensor 8
Ejemplo 3: en este ejemplo, estamos hablando de casos especiales como el producto de puntos por lotes.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining the first tensor input elements const x = tf.tensor2d([[1, 3, 3], [4, 5, 4]]); // Defining the second tensor input elements const y = tf.tensor2d([[2, 1, 2], [2, 4, 5]]); // Calling the einsum() function and printing output tf.einsum('bi,bi->b', x, y).print();
Producción:
Tensor [11, 48]
Ejemplo 4: En este ejemplo, estamos hablando de casos especiales como el producto exterior.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining the first tensor input elements const x = tf.tensor1d([2, 3, 5]); // Defining the second tensor input elements const y = tf.tensor1d([2, 5, 6]); // Calling the einsum() function and printing outputs tf.einsum('i,j->ij', x, y).print();
Producción:
Tensor [[4 , 10, 12], [6 , 15, 18], [10, 25, 30]]
Ejemplo 5: En este ejemplo, estamos hablando de casos especiales como Matrix transpose.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining tensor input elements const x = tf.tensor2d([[1, 4], [3, 4]]); // Calling the einsum() function and // printing output tf.einsum('ij->ji', x).print();
Producción:
Tensor [[1, 3], [4, 4]]
Ejemplo 6: En este ejemplo, estamos hablando de casos especiales como la transposición de array por lotes.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining tensor input elements const x = tf.tensor3d([[[1, 2], [3, 5]], [[-1, -2], [-3, -4]]]); // Calling the einsum() function and printing output tf.einsum('bij->bji', x).print();
Producción:
Tensor [[[1 , 3 ], [2 , 5 ]], [[-1, -3], [-2, -4]]]
Referencia: https://js.tensorflow.org/api/latest/#einsum