BatchToSpace per tensori ND di tipo T.
Questa operazione rimodella la dimensione "batch" 0 nelle dimensioni "M + 1" della forma "block_shape + [batch]", intercala nuovamente questi blocchi nella griglia definita dalle dimensioni spaziali "[1, ..., M]", per ottenere un risultato con lo stesso rango dell'input. Le dimensioni spaziali di questo risultato intermedio vengono poi facoltativamente ritagliate in base ai "ritagli" per produrre l'output. Questo è il contrario di SpaceToBatch. Vedi sotto per una descrizione precisa.
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
Uscita <T> | comeuscita () Restituisce l'handle simbolico del tensore. |
statico <T estende TType > BatchToSpaceNd <T> | |
Uscita <T> | produzione () |
Metodi ereditati
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
Metodi pubblici
Uscita pubblica <T> asOutput ()
Restituisce l'handle simbolico del tensore.
Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.
public static BatchToSpaceNd <T> create ( ambito ambito , operando <T> input, operando <? estende TNumber > blockShape, operando <? estende TNumber > crops)
Metodo factory per creare una classe che racchiude una nuova operazione BatchToSpaceNd.
Parametri
portata | ambito attuale |
---|---|
ingresso | ND con forma `forma_input = [batch] + forma_spaziale + forma_rimanente`, dove forma_spaziale ha M dimensioni. |
bloccoForma | 1-D con forma `[M]`, tutti i valori devono essere >= 1. |
raccolti | 2-D con forma "[M, 2]", tutti i valori devono essere >= 0. "crops[i] = [crop_start, crop_end]" specifica la quantità da ritagliare dalla dimensione di input "i + 1", che corrisponde a dimensione spaziale "i". È necessario che `crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]`. Questa operazione equivale ai seguenti passaggi: 1. Rimodellare `input` in `reshape` della forma: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N- 1]] 2. Permutare le dimensioni di "rimodellato" per produrre "permutato" di forma [batch / prod(block_shape), forma_input[1], forma_blocco[0], ..., forma_input[M], forma_blocco[M-1], forma_input[M+1], ..., forma_input[N-1]] 3. Rimodellare "permutato" per produrre "rimodellato_permutato" della forma [batch / prod(block_shape), forma_input[1] * forma_blocco[0], ..., forma_input[M] * forma_blocco[M-1], forma_input[M+1], ..., forma_input[N-1]] 4. Ritaglia l'inizio e la fine delle dimensioni "[1, ..., M]" di "reshape_permuted" in base a "crops" per produrre l'output di shape: [batch / prod(block_shape), input_shape[1] * block_shape[0] - crops[0,0] - crops[0,1], ..., input_shape[M] * block_shape[M-1] - crops[M-1,0] - crops [M-1,1], forma_input[M+1], ..., forma_input[N-1]] Alcuni esempi: (1) Per il seguente input di forma "[4, 1, 1, 1]", "block_shape = [2, 2]" e "crops = [[0, 0], [0, 0]]":
|
Ritorni
- una nuova istanza di BatchToSpaceNd