Un RNN supportato da cuDNN.
Calcola l'RNN dagli stati di input e iniziali, rispetto al buffer dei parametri. Accetta un input aggiuntivo "length_lengths" rispetto a CudnnRNN.
rnn_mode: indica il tipo di modello RNN. input_mode: indica se esiste una proiezione lineare tra l'input e il calcolo effettivo prima del primo livello. 'skip_input' è consentito solo quando input_size == num_units; "auto_select" implica "skip_input" quando input_size == num_units; in caso contrario, implica "linear_input". direction: indica se verrà utilizzato un modello bidirezionale. Dovrebbe essere "unidirezionale" o "bidirezionale". abbandono: probabilità di abbandono. Se impostato su 0., il dropout è disabilitato. seed: la prima parte di un seme per inizializzare l'abbandono. seed2: la seconda parte di un seme per inizializzare l'abbandono. input: Se time_major è true, questo è un tensore 3-D con la forma di [seq_length, batch_size, input_size]. Se time_major è false, la forma è [batch_size, seq_length, input_size]. input_h: se time_major è vero, questo è un tensore 3-D con la forma di [num_layer * dir, batch_size, num_units]. Se time_major è false, la forma è [batch_size, num_layer * dir, num_units]. input_c: per LSTM, un tensore 3-D con la forma di [num_layer * dir, batch, num_units]. Per altri modelli, viene ignorato. params: un tensore 1-D che contiene i pesi e i bias in un layout opaco. La dimensione deve essere creata tramite CudnnRNNParamsSize e inizializzata separatamente. Tieni presente che potrebbero non essere compatibili tra generazioni diverse. Quindi è una buona idea salvare e ripristinare sequence_lengths: un vettore di lunghezze di ogni sequenza di input. output: Se time_major è vero, questo è un tensore 3-D con la forma di [seq_length, batch_size, dir * num_units]. Se time_major è false, la forma è [batch_size, seq_length, dir * num_units]. output_h: la stessa forma ha input_h. output_c: la stessa forma di input_c per LSTM. Un tensore vuoto per altri modelli. is_training: indica se questa operazione viene utilizzata per inferenza o addestramento. time_major: indica se il formato di input / output è time major o batch major. reserve_space: un tensore opaco che può essere utilizzato nel calcolo backprop. Viene prodotto solo se is_training è vero.
Classi annidate
classe | CudnnRNNV3.Options | Attributi facoltativi per CudnnRNNV3 |
Metodi pubblici
static <T extends Number> CudnnRNNV3 <T> | |
static CudnnRNNV3.Options | direction ( direzione della stringa) |
static CudnnRNNV3.Options | dropout (Float dropout) |
Uscita <?> | hostReserved () |
static CudnnRNNV3.Options | inputMode (stringa inputMode) |
static CudnnRNNV3.Options | isTraining (Boolean isTraining) |
static CudnnRNNV3.Options | numProj (lungo numProj) |
Uscita <T> | uscita () |
Uscita <T> | outputC () |
Uscita <T> | outputH () |
Uscita <T> | reserveSpace () |
static CudnnRNNV3.Options | rnnMode (stringa rnnMode) |
static CudnnRNNV3.Options | |
static CudnnRNNV3.Options | |
static CudnnRNNV3.Options | timeMajor (Boolean timeMajor) |
Metodi ereditati
Metodi pubblici
public static CudnnRNNV3 <T> create ( Scope scope, Operand <T> input, Operand <T> inputH, Operand <T> inputC, Operand <T> params, Operand <Integer> sequenceLengths, Options ... options)
Metodo Factory per creare una classe che racchiude una nuova operazione CudnnRNNV3.
Parametri
scopo | ambito attuale |
---|---|
opzioni | trasporta valori di attributi opzionali |
ritorna
- una nuova istanza di CudnnRNNV3