DepthToSpace

DepthToSpace classe final pública

DepthToSpace para tensores do tipo T.

Reorganiza os dados de profundidade em blocos de dados espaciais. Esta é a transformação reversa de SpaceToDepth. Mais especificamente, esta operação produz uma cópia do tensor de entrada onde os valores da dimensão `profundidade` são movidos em blocos espaciais para as dimensões` altura` e `largura`. O attr `block_size` indica o tamanho do bloco de entrada e como os dados são movidos.

* Pedaços de dados de tamanho `block_size * block_size` da profundidade são reorganizados em blocos não sobrepostos de tamanho` block_size x block_size` * A largura do tensor de saída é `input_depth * block_size`, enquanto a altura é` input_height * block_size`. * As coordenadas Y, X dentro de cada bloco da imagem de saída são determinadas pelo componente de ordem superior do índice do canal de entrada. * A profundidade do tensor de entrada deve ser divisível por `block_size * block_size`.

O atributo `data_format` especifica o layout dos tensores de entrada e saída com as seguintes opções:" NHWC ":` [lote, altura, largura, canais] `" NCHW ":` [lote, canais, altura, largura] `" NCHW_VECT_C ":` qint8 [lote, canais / 4, altura, largura, 4] `

É útil considerar a operação como a transformação de um tensor 6-D. por exemplo, para data_format = NHWC, cada elemento no tensor de entrada pode ser especificado por meio de 6 coordenadas, ordenadas diminuindo a significância do layout de memória como: n, iY, iX, bY, bX, oC (onde n = índice de lote, iX, iY significa X ou coordenadas Y dentro da imagem de entrada, bX, bY significa coordenadas dentro do bloco de saída, oC significa canais de saída). A saída seria a entrada transposta para o seguinte layout: n, iY, bY, iX, bX, oC

Esta operação é útil para redimensionar as ativações entre as convoluções (mas mantendo todos os dados), por exemplo, em vez de agrupamento. Também é útil para treinar modelos puramente convolucionais.

Por exemplo, dada uma entrada de forma `[1, 1, 1, 4]`, data_format = "NHWC" e block_size = 2:

x = [[[[1, 2, 3, 4]]]]
 
 
Esta saída funcionamento vontade um tensor de forma `[1, 2, 2, 1 ] `:
[[[[1], [2]],
      [[3], [4]]]]
 
Aqui, a entrada tem um lote de 1 e cada elemento lote tem forma` [1, 1, 4] `, a saída correspondente terá 2x2 elementos e terá uma profundidade de um canal (1 =` 4 / (block_size * block_size) `). A forma do elemento de saída é `[2, 2, 1]`.

Para um tensor de entrada com maior profundidade, aqui de forma `[1, 1, 1, 12]`, por exemplo

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
Esta operação, para o tamanho do bloco de 2, voltará a seguinte tensor de forma `[1, 2, 2 , 3] `
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
da mesma forma, para o seguinte de entrada de forma` [1 2 2 4] `, e um tamanho de bloco de 2:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
o operador irá devolver o seguinte tensor de forma` [1 4 4 1] `:
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

Classes aninhadas

classe DepthToSpace.Options Atributos opcionais para DepthToSpace

Constantes

Fragmento OP_NAME O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Métodos Públicos

Output <T>
asOutput ()
Retorna o identificador simbólico do tensor.
estática <T estende TType > DepthToSpace <T>
criar ( Scope escopo, Operando <T> de entrada, Long blockSize, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação DepthToSpace.
estáticos DepthToSpace.Options
dataFormat (String dataFormat)
Output <T>
saída ()

Métodos herdados

Constantes

nome_op final String public static

O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Valor constante: "DepthToSpace"

Métodos Públicos

pública Output <T> asOutput ()

Retorna o identificador simbólico do tensor.

As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

public static DepthToSpace <T> create ( Scope escopo, Operando <T> de entrada, Long blockSize, Options ... Opções)

Método de fábrica para criar uma classe envolvendo uma nova operação DepthToSpace.

Parâmetros
alcance escopo atual
tamanho do bloco O tamanho do bloco espacial, o mesmo que em Space2Depth.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de DepthToSpace

public static DepthToSpace.Options dataFormat (String dataFormat)

pública Output <T> de saída ()