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
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