Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Executa uma função RNN (rede neural recorrente) simples de uma camada na entrada. Essa função geralmente é conhecida como Porta de Entrada. Esse operador executa essa função várias vezes em um loop, ditado pela dimensão de comprimento da sequência e pelo SequenceLengthsTensor.
Equação para a direção para a frente
Equação para a direção para trás
Legenda da equação
Sintaxe
struct DML_RNN_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *WeightTensor;
const DML_TENSOR_DESC *RecurrenceTensor;
const DML_TENSOR_DESC *BiasTensor;
const DML_TENSOR_DESC *HiddenInitTensor;
const DML_TENSOR_DESC *SequenceLengthsTensor;
const DML_TENSOR_DESC *OutputSequenceTensor;
const DML_TENSOR_DESC *OutputSingleTensor;
UINT ActivationDescCount;
const DML_OPERATOR_DESC *ActivationDescs;
DML_RECURRENT_NETWORK_DIRECTION Direction;
};
Membros
InputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de entrada, X. Empacotado (e potencialmente acolchoado) em um tensor 4D com os tamanhos de { 1, seq_length, batch_size, input_size }. seq_length é a dimensão mapeada para o índice, t. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
WeightTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados de peso, W. Concatenação de W_i e W_Bi (se bidirecional). O tensor tem tamanhos { 1, num_directions, hidden_size, input_size }. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
RecurrenceTensor
Tipo: const DML_TENSOR_DESC*
Um tensor opcional que contém os dados de peso de recorrência, R. Concatenação de R_i e R_Bi (se bidirecional). Esse tensor tem tamanhos { 1, num_directions, hidden_size, hidden_size }. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
BiasTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém os dados de desvio para o portão de entrada, B. Concatenação de { W_bi, R_bi }e { W_Bbi, R_Bbi } (se bidirecional). Esse tensor tem tamanhos { 1, 1, num_directions, 2 * hidden_size }. Se não for especificado, o padrão será 0. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
HiddenInitTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém o tensor do inicializador de nó oculto, H_[t-1] para o primeiro índice de loop t. Se não for especificado, o padrão será 0. Esse tensor tem tamanhos { 1, num_directions, batch_size, hidden_size }. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
SequenceLengthsTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém uma seq_length independente para cada elemento no lote. Se não for especificado, todas as sequências no lote terão comprimento seq_length. Esse tensor tem tamanhos { 1, 1, 1, batch_size }. O tensor não dá suporte ao sinalizador DML_TENSOR_FLAG_OWNED_BY_DML .
OutputSequenceTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional com o qual gravar a concatenação de todos os valores de saída de camada intermediária dos nós ocultos, H_t. Esse tensor tem tamanhos { seq_length, num_directions, batch_size, hidden_size }. seq_length é mapeado para o índice de loop t.
OutputSingleTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional com o qual gravar o valor de saída final dos nós ocultos H_t. Esse tensor tem tamanhos { 1, num_directions, batch_size, hidden_size }.
ActivationDescCount
Tipo: UINT
Esse campo determina o tamanho da matriz ActivationDescs .
ActivationDescs
Tipo: _Field_size_(ActivationDescCount) const DML_OPERATOR_DESC*
Uma matriz de DML_OPERATOR_DESC que contém as descrições dos operadores de ativação, f(). O número de funções de ativação é igual ao número de direções. Para direções para frente e para trás, espera-se que haja uma função de ativação. Para Bidirecional, espera-se que haja 2.
Direction
Tipo: DML_RECURRENT_NETWORK_DIRECTION
A direção do operador: para frente, para trás ou bidirecional.
Disponibilidade
Esse operador foi introduzido no DML_FEATURE_LEVEL_1_0.
Restrições do Tensor
BiasTensor, HiddenInitTensor, InputTensor, OutputSequenceTensor, OutputSingleTensor, RecurrenceTensore WeightTensor devem ter o mesmo DataType.
Suporte ao Tensor
| Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|
| InputTensor | Entrada | 4 | FLOAT32, FLOAT16 |
| WeightTensor | Entrada | 4 | FLOAT32, FLOAT16 |
| RecurrenceTensor | Entrada | 4 | FLOAT32, FLOAT16 |
| BiasTensor | Entrada opcional | 4 | FLOAT32, FLOAT16 |
| HiddenInitTensor | Entrada opcional | 4 | FLOAT32, FLOAT16 |
| SequenceLengthsTensor | Entrada opcional | 4 | UINT32 |
| OutputSequenceTensor | Saída opcional | 4 | FLOAT32, FLOAT16 |
| OutputSingleTensor | Saída opcional | 4 | FLOAT32, FLOAT16 |
Requisitos
| Cabeçalho | directml.h |