BatchToSpace para tensores ND do tipo T.
Esta operação remodela a dimensão "lote" 0 em dimensões `M + 1` da forma `block_shape + [lote]`, intercala esses blocos de volta na grade definida pelas dimensões espaciais `[1, ..., M]`, para obter um resultado com a mesma classificação que a entrada. As dimensões espaciais deste resultado intermediário são, então, opcionalmente cortadas de acordo com 'culturas' para produzir a saída. Este é o inverso do SpaceToBatch. Veja abaixo uma descrição precisa.
Métodos públicos
Saída <T> | comoSaída () Retorna o identificador simbólico de um tensor. |
estático <T, U estende Número, V estende Número> BatchToSpaceNd <T> | |
Saída <T> | saída () |
Métodos Herdados
Métodos públicos
Public Output <T> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para 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 ( Escopo do escopo, Operando <T> input, Operando <U> blockShape, Operando <V> crop)
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 = [lote] + forma_espcial + forma_remanescente`, onde forma_espaço tem dimensões M. |
forma de bloco | 1-D com forma `[M]`, todos os valores devem ser >= 1. |
plantações | 2-D com forma `[M, 2]`, todos os valores devem ser >= 0. `crops[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 aos seguintes passos: 1. Remodele `input` para `reshaped` da forma: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N- 1]] 2. Permutar dimensões de `reformado` para produzir `permutado` de forma [lote / prod(forma_bloco), forma_entrada[1], forma_bloco[0], ..., forma_entrada[M], forma_bloco[M-1], forma_entrada[M+1], ..., forma_entrada[N-1]] 3. Remodelar `permuted` para produzir `reshaped_permuted` de forma [lote / prod(block_shape), input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1], forma_entrada[M+1], ..., forma_entrada[N-1]] 4. Corte o início e o fim das dimensões `[1, ..., M]` de `reshaped_permuted` de acordo com `crops` para produzir a saída da forma: [batch / prod(block_shape), input_shape[1] * block_shape[0] - crop[0,0] - crop[0,1], ..., input_shape[M] * block_shape[M-1] - crop[M-1,0] - crop [M-1,1], forma_entrada[M+1], ..., forma_entrada[N-1]] Alguns exemplos: (1) Para a seguinte entrada de forma `[4, 1, 1, 1]`, `block_shape = [2, 2]` e `crops = [[0, 0], [0, 0]]`: O tensor de saída tem forma `[1, 2, 2, 1]` e valor: (2) Para a seguinte entrada de forma `[4, 1, 1, 3]`, `block_shape = [ 2, 2]` e `crops = [[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 `crops = [[0, 0], [0, 0]]`: O tensor de saída tem forma `[1, 4, 4, 1]` e valor: (4) Para a seguinte entrada de forma `[8, 1, 3, 1]`, `block_shape = [ 2, 2]` e `crops = [[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