VAE¶
- class autoencodeur2.CustomDataset(root_dir: str, transform=None)[source]¶
Bases :
Dataset
Dataset personnalisé pour charger des images à partir d’un répertoire donné.
Ce dataset charge les images à partir d’un répertoire spécifié et permet d’appliquer des transformations facultatives à ces images.
- Paramètres:
root_dir (str) – Le chemin du répertoire contenant les images.
transform (callable, optional) – Une fonction/transform pour appliquer une transformation aux images. Default is None.
- root_dir¶
Le chemin du répertoire contenant les images.
- Type:
str
- transform¶
La fonction/transform à appliquer aux images.
- Type:
callable
- image_list¶
La liste des noms de fichiers des images dans le répertoire.
- Type:
list
- class autoencodeur2.VAE(latent_dim: int)[source]¶
Bases :
Module
Implémente un Variational Autoencoder (VAE) pour la génération d’images.
Le VAE est composé d’un encodeur et d’un décodeur, qui apprennent à représenter et à générer des données, respectivement.
- Paramètres:
latent_dim (int) – La dimension de l’espace latent.
- encoder¶
Le réseau de neurones de l’encodeur.
- Type:
nn.Sequential
- decoder¶
Le réseau de neurones du décodeur.
- Type:
nn.Sequential
- forward(x: Tensor) Tensor [source]¶
Passe l’entrée à travers l’encodeur et le décodeur pour la reconstruction.
- Paramètres:
x (torch.Tensor) – L’image d’entrée.
- Renvoie:
- L’image reconstruite, la moyenne de la distribution latente
et le logarithme de la variance de la distribution latente.
- Type renvoyé:
torch.Tensor
- reparameterize(mu: Tensor, log_var: Tensor, variance_scale=0.1) Tensor [source]¶
Effectue la reparamétrisation nécessaire pour échantillonner dans l’espace latent.
- Paramètres:
mu (torch.Tensor) – La moyenne de la distribution latente.
log_var (torch.Tensor) – Le logarithme de la variance de la distribution latente.
variance_scale – La modulation de la variance, multiplie log_var par une valeur supérieure à 1 augmente la variance
- Renvoie:
L’échantillon dans l’espace latent.
- Type renvoyé:
torch.Tensor
- autoencodeur2.plot_losses_and_parameters(model, reconstruction_losses, kl_losses, total_losses)[source]¶
Affiche les paramètres du modèle et trace les courbes de perte.
- Paramètres:
model (nn.Module) – Le modèle pour lequel afficher les paramètres.
reconstruction_losses (list) – Liste des valeurs de perte de reconstruction.
kl_losses (list) – Liste des valeurs de perte de divergence KL.
total_losses (list) – Liste des valeurs de perte totale.
- autoencodeur2.train_VAE_model(model, data_loader, optimizer, num_epochs)[source]¶
Entraîne le modèle VAE.
- Paramètres:
model (nn.Module) – Le modèle VAE à entraîner.
data_loader (DataLoader) – Le DataLoader contenant les données d’entraînement.
optimizer – L’optimiseur utilisé pour la mise à jour des poids du modèle.
num_epochs (int) – Le nombre d’époques pour lesquelles entraîner le modèle. Default is 100.
- Renvoie:
Le modèle VAE entraîné. reconstruction_losses (list): Liste des valeurs de perte de reconstruction pour chaque époque. kl_losses (list): Liste des valeurs de perte de divergence KL pour chaque époque. total_losses (list): Liste des valeurs de perte totale pour chaque époque.
- Type renvoyé:
trained_model (nn.Module)