Función Tensorflow.js tf.sparseReshape()

Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node. La función .sparseReshape() posee una sintaxis idéntica a la función remodelar() en el tensor comprimido renderizado. Donde los índices de entrada se recalculan sobre la base de la nueva forma requerida. 

Nota:

  • En caso de que un elemento de la nueva forma indicada sea el valor distinto, es decir, -1, entonces el tamaño de dicha dimensión se calcula de modo que el recuento del tamaño denso permanezca constante.
  • En el mejor de los casos, solo un componente de la nueva forma establecida puede ser -1.
  • Aquí, el recuento de componentes comprimidos indicado por la nueva forma indicada debe ser el mismo que el recuento de componentes comprimidos indicado originalmente por la forma de entrada indicada.
  • La remodelación no afecta el orden de los valores en el tensor disperso indicado.
  • En caso de que el tensor de entrada posea el rango R_in , así como N, valores cargados, y la nueva forma posee la longitud R_out , entonces la forma de los índices de entrada es [ N , R_in ], la longitud de la forma de entrada es R_in , la la forma de los índices de salida es [ N , R_out ], y la longitud de la forma de salida es R_out .

Sintaxis:

tf.sparseReshape(inputIndices, inputShape, newShape)

Parámetros: Este método acepta el siguiente parámetro:

  • inputIndices: Es el 2-D indicado. N x R_in array junto con los índices de los valores cargados en un tensor disperso. Puede ser del tipo tf.Tensor2D, TypedArray o Array.
  • inputShape: Es el 1-D indicado. R_in Tensor1D junto con la forma comprimida del tensor disperso de entrada. Puede ser del tipo tf.Tensor1D, TypedArray o Array.
  • newShape: Es la 1-D indicada. R_out Tensor1D junto con la nueva forma comprimida demandada. Puede ser del tipo tf.Tensor1D, TypedArray o Array.

Valor devuelto: Devuelve el objeto tf.Tensor .

Ejemplo 1: En el siguiente ejemplo, llamamos a la función sparse.sparseReshape() con todos sus parámetros e imprimimos la respuesta de salida sin sus índices ni forma.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs")
  
// Calling sparse.sparseReshape() function
// with all its parameter
const res = tf.sparse.sparseReshape(
    [[1, 0, 1], [2, 0, 1], [1, 1, 2], [0, -1, 0], [-3, 1, 2]],
    [1, 2, 9], [-1, 9]);
  
// Printing output
console.log(res);

Producción:

{
  "outputIndices": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [
      5,
      2
    ],
    "dtype": "float32",
    "size": 10,
    "strides": [
      2
    ],
    "dataId": {
      "id": 82
    },
    "id": 82,
    "rankType": "2",
    "scopeId": 36
  },
  "outputShape": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [
      2
    ],
    "dtype": "float32",
    "size": 2,
    "strides": [],
    "dataId": {
      "id": 83
    },
    "id": 83,
    "rankType": "1",
    "scopeId": 36
  }
}

Ejemplo 2: En el siguiente ejemplo, llamamos a la función sparse.sparseReshape() con todos sus parámetros e imprimimos la respuesta de salida con sus índices y forma.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs")
  
// Calling sparse.sparseReshape() function
// with all its parameter
const res = tf.sparse.sparseReshape(
    [[1.1, 0, 1.2], [2.1, 0.2, 1.3], [1.4, 2.3, 2.5], [null, -1, 0], [-3, 1, 2]],
    [1.0, 3, 3], [-1, 9]);
  
// Printing output indices
res['outputIndices'].print();
  
// Printing output shape
res['outputShape'].print();

Producción:

Tensor
    [[1 , 2 ],
     [2 , 2 ],
     [2 , 3 ],
     [0 , -3],
     [-2, -4]]
Tensor
    [1, 9]

Referencia: https://js.tensorflow.org/api/latest/#sparseReshape

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *