DepthToSpace

clase final pública DepthToSpace

DepthToSpace para tensores de tipo T.

Reorganiza los datos desde la profundidad en bloques de datos espaciales. Esta es la transformación inversa de SpaceToDepth. Más específicamente, esta operación genera una copia del tensor de entrada donde los valores de la dimensión "profundidad" se mueven en bloques espaciales a las dimensiones "alto" y "ancho". El atributo `block_size` indica el tamaño del bloque de entrada y cómo se mueven los datos.

* Los fragmentos de datos de tamaño `block_size * block_size` desde la profundidad se reorganizan en bloques no superpuestos de tamaño `block_size x block_size` * El ancho del tensor de salida es `input_profundidad * block_size`, mientras que la altura es `input_height * block_size`. * Las coordenadas Y, X dentro de cada bloque de la imagen de salida están determinadas por el componente de orden superior del índice del canal de entrada. * La profundidad del tensor de entrada debe ser divisible por `block_size * block_size`.

El atributo `data_format` especifica el diseño de los tensores de entrada y salida con las siguientes opciones: "NHWC": `[ lote, alto, ancho, canales ]` "NCHW": `[ lote, canales, alto, ancho ]` " NCHW_VECT_C": `qint8 [lote, canales / 4, alto, ancho, 4]`

Es útil considerar la operación como la transformación de un tensor 6-D. por ejemplo, para data_format = NHWC, cada elemento en el tensor de entrada se puede especificar mediante 6 coordenadas, ordenadas por importancia de diseño de memoria decreciente como: n,iY,iX,bY,bX,oC (donde n=índice de lote, iX, iY significa X o coordenadas Y dentro de la imagen de entrada, bX, bY significa coordenadas dentro del bloque de salida, oC significa canales de salida). La salida sería la entrada transpuesta al siguiente diseño: n,iY,bY,iX,bX,oC

Esta operación es útil para cambiar el tamaño de las activaciones entre convoluciones (pero manteniendo todos los datos), por ejemplo, en lugar de agruparlos. También es útil para entrenar modelos puramente convolucionales.

Por ejemplo, dada una entrada de forma `[1, 1, 1, 4]`, formato_datos = "NHWC" y tamaño_bloque = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
Esta operación generará un tensor de forma `[1, 2, 2, 1]`:
[[[[1], [2]],
      [[3], [4]]]]
 
Aquí, la entrada tiene un lote de 1 y cada elemento del lote tiene forma `[1, 1, 4]`, la salida correspondiente tendrá 2x2 elementos y tendrá una profundidad de 1 canal (1 = `4 / (block_size * block_size )`). La forma del elemento de salida es "[2, 2, 1]".

Para un tensor de entrada con mayor profundidad, aquí con forma `[1, 1, 1, 12]`, por ejemplo

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
Esta operación, para un tamaño de bloque de 2, devolverá el siguiente tensor de forma `[1, 2, 2, 3]`
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
De manera similar, para la siguiente entrada de forma `[1 2 2 4]` y un tamaño de bloque de 2:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
el operador devolverá el siguiente tensor de forma `[1 4 4 1]`:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

Clases anidadas

clase Opciones de profundidad al espacio Atributos opcionales para DepthToSpace

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico del tensor.
estático <T extiende TType > Profundidad al espacio <T>
crear (alcance alcance , entrada de operando <T>, tamaño de bloque largo, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación DepthToSpace.
Opciones estáticas de DepthToSpace
formato de datos (formato de datos de cadena)
Salida <T>

Métodos heredados

org.tensorflow.op.RawOp
booleano final
es igual (Objeto obj)
entero final
Operación
operación ()
Devuelve esta unidad de cálculo como una única Operation .
cadena final
booleano
es igual (Objeto arg0)
Clase final<?>
obtenerclase ()
entero
código hash ()
vacío final
notificar ()
vacío final
notificar a todos ()
Cadena
a cadena ()
vacío final
esperar (arg0 largo, int arg1)
vacío final
espera (arg0 largo)
vacío final
esperar ()
org.tensorflow.op.Op
entorno de ejecución abstracto
entorno ()
Devuelve el entorno de ejecución en el que se creó esta operación.
operación abstracta
operación ()
Devuelve esta unidad de cálculo como una única Operation .
org.tensorflow.Operand
Salida abstracta <T>
como salida ()
Devuelve el identificador simbólico del tensor.
resumen T
como Tensor ()
Devuelve el tensor en este operando.
forma abstracta
forma ()
Devuelve la forma (posiblemente parcialmente conocida) del tensor al que hace referencia la Output de este operando.
clase abstracta<T>
tipo ()
Devuelve el tipo de tensor de este operando.
org.tensorflow.ndarray.Shaped
resumen entero
rango ()
forma abstracta
forma ()
abstracto largo
tamaño ()
Calcula y devuelve el tamaño total de este contenedor, en número de valores.

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "Profundidad al espacio"

Métodos públicos

Salida pública <T> como Salida ()

Devuelve el identificador simbólico del tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

creación pública estática de DepthToSpace <T> (alcance de alcance , entrada de operando <T>, tamaño de bloque largo, opciones... )

Método de fábrica para crear una clase que envuelve una nueva operación DepthToSpace.

Parámetros
alcance alcance actual
tamaño del bloque El tamaño del bloque espacial, igual que en Space2Depth.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de DepthToSpace

Público estático DepthToSpace.Options dataFormat (String dataFormat)

Salida pública <T> salida ()