Un RNN respaldado por cuDNN.
Calcula el RNN a partir de los estados inicial y de entrada, con respecto al búfer de parámetros. 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 está permitido cuando input_size == num_units; 'auto_select' implica 'skip_input' cuando input_size == num_units; de lo contrario, implica 'entrada_lineal'. direction: Indica si se utilizará un modelo bidireccional. Debe ser "unidireccional" o "bidireccional". abandono: Probabilidad de abandono. Cuando se establece en 0, el abandono está deshabilitado. semilla: La primera parte de una semilla para inicializar el abandono. seed2: la segunda parte de una semilla para inicializar el abandono. entrada: si time_major es verdadero, este es un tensor tridimensional 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 tridimensional 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 tridimensional 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 sesgos en un diseño opaco. El tamaño debe crearse a través de CudnnRNNParamsSize e inicializarse por separado. Tenga en cuenta que es posible que no sean compatibles entre diferentes generaciones. Por lo tanto, es una buena idea guardar y restaurar las longitudes de secuencia: un vector de longitudes de cada secuencia de entrada. salida: si time_major es verdadero, este es un tensor tridimensional 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 | CudnnRNNV3.Opciones | Atributos opcionales para CudnnRNNV3 |
Métodos públicos
estático <T extiende Número> CudnnRNNV3 <T> | |
estático CudnnRNNV3.Opciones | dirección (dirección de la cadena) |
estático CudnnRNNV3.Opciones | abandono (abandono flotante) |
Salida <?> | |
estático CudnnRNNV3.Opciones | modo de entrada (Cadena modo de entrada) |
estático CudnnRNNV3.Opciones | isTraining (booleano isTraining) |
estático CudnnRNNV3.Opciones | numProj (NúmProy largo) |
Salida <T> | salida () |
Salida <T> | salidaC () |
Salida <T> | salidaH () |
Salida <T> | |
estático CudnnRNNV3.Opciones | rnnMode (Cadena rnnMode) |
estático CudnnRNNV3.Opciones | semilla (semilla larga) |
estático CudnnRNNV3.Opciones | semilla2 (semilla larga2) |
estático CudnnRNNV3.Opciones | timeMajor (booleano timeMajor) |
Métodos Heredados
Métodos públicos
public static CudnnRNNV3 <T> create ( Scope scope, Operando <T> entrada, Operando <T> entradaH, Operando <T> entradaC, Operando <T> params, Operando <Entero> longitudes de secuencia, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación CudnnRNNV3.
Parámetros
alcance | alcance actual |
---|---|
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de CudnnRNNV3