Fonction PyTorch torch.nn.RNN

PyTorch torch.nn 参考手册Manuel de référence torch.nn de PyTorch


torch.nn.RNNC'est le module de base de réseau de neurones récurrent dans PyTorch.

C'est la couche récurrente la plus simple, mais elle est sujette au problème de disparition du gradient.

Définition de fonction

torch.nn.RNN(input_size, hidden_size, num_layers=1, bias=True, batch_first=True, dropout=0, bidirectional=False)

Exemples d'utilisation

Exemple 1 : Utilisation de base

Exemple

import torch
import torch.nn as nn

rnn = nn.RNN(input_size=256, hidden_size=128, num_layers=2, batch_first=True)

x = torch.randn(4, 10, 256)
output, hidden = rnn(x)

print("Entrée :", x.shape)
print("Sortie :", output.shape)
print("Hidden:", hidden.shape)

Exemple 2 : RNN multicouche

Exemple

import torch
import torch.nn as nn

# RNN à 3 couches avec dropout
rnn = nn.RNN(128, 256, num_layers=3, dropout=0.3, batch_first=True)

x = torch.randn(2, 50, 128)
out, h = rnn(x)

print("Entrée :", x.shape)
print("Sortie :", out.shape)
print("Hidden:", h.shape)  # (3, 2, 256)

Exemple 3 : Activation non linéaire

Exemple

import torch
import torch.nn as nn

# tanh est utilisée comme fonction d'activation par défaut
rnn = nn.RNN(64, 64, batch_first=True)

x = torch.randn(1, 5, 64)
out, _ = rnn(x)

print("Forme de sortie :", out.shape)
print("RNN utilise tanh comme fonction d'activation par défaut")

Notes

Le RNN de base souffre du problème de disparition du gradient ; pour les longues séquences, LSTM ou GRU est recommandé.


Cas d'utilisation

  • Tâches séquentielles simples: séquences courtes
  • Exemples pédagogiques: compréhension des principes des RNN
  • Prototypage rapide: base de référence simple

PyTorch torch.nn 参考手册Manuel de référence torch.nn de PyTorch

Autres extensions