Um RNN apoiado por cuDNN.
Calcula o RNN dos estados de entrada e inicial, em relação ao buffer de parâmetros. Aceita uma entrada extra "sequence_lengths" que CudnnRNN.
rnn_mode: Indica o tipo do modelo RNN. input_mode: Indica se existe uma projeção linear entre a entrada e a computação real antes da primeira camada. 'skip_input' só é permitido quando input_size == num_units; 'auto_select' implica 'skip_input' quando input_size == num_units; caso contrário, implica 'linear_input'. direção: Indica se será utilizado um modelo bidirecional. Deve ser "unidirecional" ou "bidirecional". dropout: probabilidade de dropout. Quando definido como 0., o dropout é desabilitado. seed: A 1ª parte de uma seed para inicializar o dropout. seed2: A 2ª parte de uma semente para inicializar o dropout. input: Se time_major for true, este é um tensor 3-D com a forma de [seq_length, batch_size, input_size]. Se time_major for false, a forma será [batch_size, seq_length, input_size]. input_h: Se time_major for true, este é um tensor 3-D com a forma de [num_layer * dir, batch_size, num_units]. Se time_major for false, a forma será [batch_size, num_layer * dir, num_units]. input_c: Para LSTM, um tensor 3-D com a forma de [num_layer * dir, batch, num_units]. Para outros modelos, é ignorado. params: Um tensor 1-D que contém os pesos e desvios em um layout opaco. O tamanho deve ser criado por meio de CudnnRNNParamsSize e inicializado separadamente. Observe que eles podem não ser compatíveis em diferentes gerações. Portanto, é uma boa ideia salvar e restaurar sequence_lengths: um vetor de comprimentos de cada sequência de entrada. output: Se time_major for true, este é um tensor 3-D com a forma de [seq_length, batch_size, dir * num_units]. Se time_major for false, a forma será [batch_size, seq_length, dir * num_units]. output_h: A mesma forma tem input_h. output_c: A mesma forma que input_c para LSTM. Um tensor vazio para outros modelos. is_training: Indica se esta operação é usada para inferência ou treinamento. time_major: Indica se o formato de entrada/saída é maior de tempo ou maior de lote. reserve_space: Um tensor opaco que pode ser usado no cálculo de backprop. Só é produzido se is_training for true.
Classes aninhadas
aula | CudnnRNNV3.Opções | Atributos opcionais para CudnnRNNV3 |
Métodos públicos
estático <T estende o número> CudnnRNNV3 <T> | |
estático CudnnRNNV3.Options | direção (direção da string) |
estático CudnnRNNV3.Options | dropout (desistência flutuante) |
Saída <?> | |
estático CudnnRNNV3.Options | inputMode (String inputMode) |
estático CudnnRNNV3.Options | isTraining (booleano isTraining) |
estático CudnnRNNV3.Options | numProj (long numProj) |
Saída <T> | saída () |
Saída <T> | saídaC () |
Saída <T> | saídaH () |
Saída <T> | |
estático CudnnRNNV3.Options | rnnMode (String rnnMode) |
estático CudnnRNNV3.Options | semente (semente longa) |
estático CudnnRNNV3.Options | seed2 (semente longa2) |
estático CudnnRNNV3.Options | timeMajor (Boolean timeMajor) |
Métodos Herdados
Métodos públicos
public static CudnnRNNV3 <T> create ( Escopo do escopo, Operando <T> input, Operando <T> inputH, Operando <T> inputC, Operando <T> params, Operando <Integer> sequenceLengths, Options... options)
Método de fábrica para criar uma classe que envolve uma nova operação CudnnRNNV3.
Parâmetros
alcance | escopo atual |
---|---|
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de CudnnRNNV3