BatchToSpace para tensores ND do tipo T.
Esta operação remodela a dimensão do "lote" 0 em dimensões `M + 1` da forma` block_shape + [batch] `, intercala esses blocos de volta na grade definida pelas dimensões espaciais` [1, ..., M] `, para obter um resultado com a mesma classificação da entrada. As dimensões espaciais desse resultado intermediário são, então, opcionalmente cortadas de acordo com as `colheitas 'para produzir a saída. Este é o reverso de SpaceToBatch. Veja abaixo uma descrição precisa.
Métodos Públicos
Output <T> | asOutput () Retorna o identificador simbólico de um tensor. |
estática <T, U estende Número, V estende Number> BatchToSpaceNd <T> | |
Output <T> | saída () |
Métodos herdados
Métodos Públicos
pública Output <T> asOutput ()
Retorna o identificador simbólico de um 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 BatchToSpaceNd <T> create ( Scope escopo, Operando <T> entrada, Operando <U> blockShape, Operando <V> culturas)
Método de fábrica para criar uma classe que envolve uma nova operação BatchToSpaceNd.
Parâmetros
alcance | escopo atual |
---|---|
entrada | ND com forma `input_shape = [batch] + spatial_shape + restante_shape`, em que spatial_shape tem M dimensões. |
blockShape | 1-D com forma `[M]`, todos os valores devem ser> = 1. |
cultivo | 2-D com a forma `[M, 2]`, todos os valores devem ser> = 0. `crop [i] = [crop_start, crop_end]` especifica a quantidade a ser cortada da dimensão de entrada `i + 1`, que corresponde a dimensão espacial `i`. É necessário que `crop_start [i] + crop_end [i] <= block_shape [i] * input_shape [i + 1]`. Esta operação é equivalente às seguintes etapas: 1. Remodele a `entrada` para` remodelado` da forma: [block_shape [0], ..., block_shape [M-1], batch / prod (block_shape), input_shape [1], ..., input_shape [N- 1] 2. Dimensões permutadas de `remodelado` para produzir` permutado` de forma [batch / prod (block_shape), input_shape [1], block_shape [0], ..., input_shape [M], block_shape [M-1], forma_de_entrada [M + 1], ..., forma_de_entrada [N-1]] 3. Remodele `permutado` para produzir` reshaped_permuted` de forma [batch / prod (block_shape), input_shape [1] * block_shape [0], ..., input_shape [M] * block_shape [M-1], forma_de_entrada [M + 1], ..., forma_de_entrada [N-1]] 4. Corte o início e o final das dimensões `[1, ..., M]` de `reshaped_permuted` de acordo com` crop` para produzir a saída de forma: [batch / prod (block_shape), input_shape [1] * block_shape [0] - colheitas [0,0] - colheitas [0,1], ..., input_shape [M] * block_shape [M-1] - colheitas [M-1,0] - colheitas [M-1,1], forma_de_entrada [M + 1], ..., forma_de_entrada [N-1]] Alguns exemplos: (1) Para a seguinte entrada de forma `[4, 1, 1, 1]`, `block_shape = [2, 2]` e `colheitas = [[0, 0], [0, 0]]`: o tensor de saída tem a forma `[1, 2, 2, 1]` e valor: (2) Para a seguinte entrada de forma `[4, 1, 1, 3]`, `block_shape = [ 2, 2] `e` culturas = [[0, 0], [0, 0]] `: O tensor de saída tem a forma` [1, 2, 2, 3] `e valor: (3) Para a seguinte entrada de forma `[4, 2, 2, 1]`, `block_shape = [2, 2]` e `colheitas = [[0, 0], [0, 0]]`: o tensor de saída tem a forma `[1, 4, 4, 1]` e valor: (4) Para o seguinte entrada de forma `[8, 1, 3, 1]`, `block_shape = [ 2, 2] `e` culturas = [[0, 0], [2, 0]] `: O tensor de saída tem a forma` [2, 2, 4, 1] `e valor:
|
Devoluções
- uma nova instância de BatchToSpaceNd