Tensorflow.js tf.image.nonMaxSuppressionPaddedAsync() Función

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 .image.nonMaxSuppressionPaddedAsync() se utiliza para ejecutar de forma asíncrona la supresión no máxima de los cuadros de limitación sobre la base de IOU, es decir, la intersección sobre la unión junto con la posibilidad de rellenar los resultados.

Sintaxis:

tf.image.nonMaxSuppressionPaddedAsync(boxes, scores, maxOutputSize, 
    iouThreshold?, scoreThreshold?, padToMaxOutputSize?)

Parámetros:  

  • boxes: El tensor 2d indicado, que es de configuración [numBoxes, 4]. Y todo acceso es [y1, x1, y2, x2], permitiendo que (y1, x1) e (y2, x2) sean los bordes de la caja restrictiva. Puede ser de tipo tf.Tensor2D, TypedArray o Array.
  • puntuaciones: El tensor 1d indicado, siempre que las puntuaciones de las cajas tengan la configuración [numBoxes]. Es de tipo tf.Tensor2D, TypedArray o Array.
  • maxOutputSize: Es el recuento máximo de las cajas indicadas que se van a recoger. Es de tipo número.
  • iouThreshold: Es el flotador indicado que significa el umbral para decidir si las casillas indicadas se cruzan demasiado con referencia al pagaré. Debe estar en medio de [0, 1]. El valor predeterminado es 0,5, es decir, el 50 por ciento de la caja se cruza. Es opcional y es de tipo número.
  • scoreThreshold: Es el umbral establecido para decidir en qué momento se deben eliminar las casillas en función de la puntuación establecida. El valor predeterminado es -inf, es decir, se permiten todas las puntuaciones. Es opcional y es de tipo número.
  • padToMaxOutputSize: Es un parámetro opcional de tipo booleano. El valor predeterminado es falso . En caso de que sea cierto, la dimensión del resultado selectedIndices se rellena con maxOutputSize .

Valor devuelto: Devuelve la promesa de {[nombre: string]: tf.Tensor}.

Ejemplo 1: En este ejemplo, usaremos un tensor 2d, puntajes y parámetros maxOutputSize.

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs";
  
// Calling image.nonMaxSuppressionPaddedAsync() method
const output = await tf.image.nonMaxSuppressionPaddedAsync(
  tf.tensor2d([1, 2, 3, 4, 2, 4, 6, 7], [2, 4]), [1, 1], 4 );
  
// Printing output
console.log(output);

Producción:

{
  "selectedIndices": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [2],
    "dtype": "int32",
    "size": 2,
    "strides": [],
    "dataId": {
      "id": 54
    },
    "id": 54,
    "rankType": "1",
    "scopeId": 27
  },
  "validOutputs": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [],
    "dtype": "int32",
    "size": 1,
    "strides": [],
    "dataId": {
      "id": 55
    },
    "id": 55,
    "rankType": "0",
    "scopeId": 27
  }
}

Ejemplo 2: en este ejemplo, usaremos una array de flotantes, iouThreshold, scoreThreshold, así como padToMaxOutputSize.

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs";
  
// Defining an array of floats
const arr = [
  [11.1, 2.3, 7.3, 6.4], [3, 6]]
  
// Calling image.nonMaxSuppressionPaddedAsync() method
const res = await tf.image.nonMaxSuppressionPaddedAsync(
  arr, [2.1, 0], 100, 0.5, 1, true);
  
// Printing output
console.log(res);

Producción:

{
  "selectedIndices": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [2],
    "dtype": "int32",
    "size": 2,
    "strides": [],
    "dataId": {
      "id": 62
    },
    "id": 62,
    "rankType": "1",
    "scopeId": 29
  },
  "validOutputs": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [],
    "dtype": "int32",
    "size": 1,
    "strides": [],
    "dataId": {
      "id": 63
    },
    "id": 63,
    "rankType": "0",
    "scopeId": 29
  }
}

Referencia: https://js.tensorflow.org/api/latest/#image.nonMaxSuppressionPaddedAsync

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 *