Un RNN respaldado por cuDNN.
Calcula el RNN a partir de los estados de entrada e inicial, con respecto al búfer params. Acepta una entrada adicional "sequence_lengths" que CudnnRNN.
rnn_mode: Indica el tipo de modelo RNN. input_mode: Indica si hay una proyección lineal entre la entrada y el cálculo real antes de la primera capa. 'skip_input' solo se permite cuando input_size == num_units; 'auto_select' implica 'skip_input' cuando input_size == num_units; de lo contrario, implica 'linear_input'. direction: Indica si se utilizará un modelo bidireccional. Debe ser "unidireccional" o "bidireccional". abandono: probabilidad de abandono. Cuando se establece en 0., la deserción está deshabilitada. semilla: La primera parte de una semilla para inicializar la deserción. seed2: la segunda parte de una semilla para inicializar la deserción. input: si time_major es verdadero, este es un tensor 3-D con la forma de [seq_length, batch_size, input_size]. Si time_major es falso, la forma es [batch_size, seq_length, input_size]. input_h: Si time_major es verdadero, este es un tensor 3-D con la forma de [num_layer * dir, batch_size, num_units]. Si time_major es falso, la forma es [batch_size, num_layer * dir, num_units]. input_c: para LSTM, un tensor 3D con la forma de [num_layer * dir, batch, num_units]. Para otros modelos, se ignora. params: un tensor 1-D que contiene los pesos y los sesgos en un diseño opaco. El tamaño debe crearse mediante CudnnRNNParamsSize e inicializarse por separado. Tenga en cuenta que es posible que no sean compatibles entre distintas generaciones. Por lo tanto, es una buena idea guardar y restaurar sequence_lengths: un vector de longitudes de cada secuencia de entrada. salida: si time_major es verdadero, este es un tensor 3-D con la forma de [seq_length, batch_size, dir * num_units]. Si time_major es falso, la forma es [batch_size, seq_length, dir * num_units]. output_h: la misma forma tiene input_h. output_c: la misma forma que input_c para LSTM. Un tensor vacío para otros modelos. is_training: Indica si esta operación se usa para inferencia o entrenamiento. time_major: indica si el formato de entrada / salida es time major o batch major. reserve_space: un tensor opaco que se puede usar en el cálculo de backprop. Solo se produce si is_training es verdadero.
Clases anidadas
clase | CudnnRNN.Options | Los atributos opcionales para CudnnRNN |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
estática <T se extiende TNumber > CudnnRNN <T> | |
estáticas CudnnRNN.Options | dirección (dirección String) |
estáticas CudnnRNN.Options | deserción (deserción Float) |
Salida <?> | hostReserved () |
estáticas CudnnRNN.Options | InputMode (String InputMode) |
estáticas CudnnRNN.Options | isTraining (Boolean isTraining) |
estáticas CudnnRNN.Options | numProj (Long numProj) |
Salida <T> | salida () |
Salida <T> | outputC () |
Salida <T> | outputH () |
Salida <T> | reserveSpace () |
estáticas CudnnRNN.Options | rnnMode (String rnnMode) |
estáticas CudnnRNN.Options | semilla (semilla de larga duración) |
estáticas CudnnRNN.Options | seed2 (Long seed2) |
estáticas CudnnRNN.Options | timeMajor (Boolean timeMajor) |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
public static CudnnRNN <T> crear ( Alcance alcance, operando <T> de entrada, operando <T> inputH, operando <T> inputC, operando <T> params, operando < TInt32 > sequenceLengths, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación CudnnRNN.
Parámetros
alcance | alcance actual |
---|---|
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de CudnnRNN