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.combined_loss(batch, recon_batch)[source]
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)

autoencodeur2.visualize_images(model, data_loader)[source]

Visualise les images originales et reconstruites après l’entraînement du modèle.

Paramètres:
  • model (nn.Module) – Le modèle VAE entraîné.

  • data_loader (DataLoader) – Le DataLoader contenant les données d’entraînement.