Una RNN supportata da cuDNN.
Calcola l'RNN dall'input e dagli stati iniziali, rispetto al buffer dei parametri. Accetta un input aggiuntivo "sequence_lengths" rispetto a CudnnRNN.
rnn_mode: indica il tipo del 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; altrimenti implica 'linear_input'. direzione: indica se verrà utilizzato un modello bidirezionale. Dovrebbe essere "unidirezionale" o "bidirezionale". dropout: probabilità di abbandono. Quando impostato su 0., il dropout è disabilitato. seed: la prima parte di un seed per inizializzare il dropout. seed2: la seconda parte di un seed per inizializzare il dropout. input: se time_major è vero, questo è un tensore 3D con la forma di [seq_length, batch_size, input_size]. Se time_major è falso, 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 è falso, la forma è [batch_size, num_layer * dir, num_units]. input_c: per LSTM, un tensore 3D con la forma di [num_layer * dir, batch, num_units]. Per gli 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 ciascuna 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 è falso, 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 l'inferenza o l'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 del backprop. Viene prodotto solo se is_training è vero.
Classi nidificate
classe | CudnnRNNV3.Opzioni | Attributi facoltativi per CudnnRNNV3 |
Metodi pubblici
statico <T estende il numero> CudnnRNNV3 <T> | |
CudnnRNNV3.Options statico | direzione (direzione della stringa) |
CudnnRNNV3.Options statico | dropout (dropout flottante) |
Uscita <?> | |
CudnnRNNV3.Options statico | inputMode (Stringa inputMode) |
CudnnRNNV3.Options statico | isTraining (Booleano isTraining) |
CudnnRNNV3.Options statico | numProj (numProj lungo) |
Uscita <T> | produzione () |
Uscita <T> | uscitaC () |
Uscita <T> | uscitaH () |
Uscita <T> | |
CudnnRNNV3.Options statico | rnnMode (Stringa rnnMode) |
CudnnRNNV3.Options statico | seme (seme lungo) |
CudnnRNNV3.Options statico | seme2 (seme lungo2) |
CudnnRNNV3.Options statico | timeMajor (tempo booleano Major) |
Metodi ereditati
Metodi pubblici
public static CudnnRNNV3 <T> create ( ambito ambito, operando <T> input, operando <T> inputH, operando <T> inputC, parametri operando <T>, lunghezza sequenza operando <Integer>, opzioni... opzioni)
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