From 66d961471633c9b4b1c1c9450f931456e13aebb4 Mon Sep 17 00:00:00 2001
From: Samuel2703 <samuel.fruchard@ecl19.ec-lyon.fr>
Date: Wed, 29 Mar 2023 23:45:42 +0200
Subject: [PATCH] Readme

---
 README.md | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 5788498..54acd01 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,23 @@
 # GAN & cGAN tutorial.
 
-We recommand to use the notebook (.ipynb) but the Python script (.py) is also provided if more convenient for you.
+Le notebook (.ipynb) a été utilisé.
+L'objectif de ce BE était de se familiariser avec 2 types de GAN (Generative adversarial network) : les Deep Convolutional GAN (DC-GAN) et les Conditional GAN (cGAN)
 
-# How to submit your Work ?
+Dans la première partie, on se base sur un réseau entraîné à générer des visages qu'on ré-entraîne pour qu'il génère des chiffres écrits à la main. Le dataset MNIST est là pour cela.
 
-This work must be done individually. The expected output is a repository named gan-cgan on https://gitlab.ec-lyon.fr. It must contain your notebook (or python files) and a README.md file that explains briefly the successive steps of the project. The last commit is due before 11:59 pm on Wednesday, March 29, 2023. Subsequent commits will not be considered.
\ No newline at end of file
+On change la structure déjà existante pour passer à un niveau de gris (précédemment un triplet r,g,b). 
+Le générateur (qui produit des images de chiffres manuscrits) et le discriminateur (qui doit détecter quels sont les vraies et les fausses images) sont entraînés successivement.
+On peut observer le graphique "Generator and Discriminator Loss During Training" qui montre l'évolution de la fonction de perte pour le générateur et le discriminateur au cours des itérations. 
+
+On obtient une animation qui montre l'évolution successive de notre modèle. En comparant avec une image réelle de la base de données, on voit que notre modèle est assez convainquant, même si certains chiffres manuscrits sont déformés voire illisibles. 
+
+
+
+La deuxième partie de ce BE s'intéresse à un conditional GAN. Ici, on donne en entrée un schéma ou masque (image très simple) au générateur, qui doit créer en sortie une image réaliste (vue satellite). 
+L'image n'est plus aléatoire mais dépend du schéma reçu en entrée. On a toujours un entraînement alterné entre le générateur et le discriminateur, un PatchGAN. 
+
+On utilise cette fois un U-net qui consiste à appliquer un encoder et un décodeur à l'image de départ tout en réalisant des connections entre les couches correspondantes de l'encodeur et du décodeur. Cela permet de capter des schémas de données à différentes échelles spatiales et d'éviter des problèmes de perte d'information ou de vanishing gradient.
+
+Le code fonctionne jusqu'à la phase d'entraînement. On a un message d'erreur sur la taille des tenseurs : "The size of tensor a (15) must match the size of tensor b (30) at non-singleton dimension 3" qu'on a pas réussi à surmonter. 
+
+La partie d'évaluation du cGAN n'a donc pas pu être réalisée. 
\ No newline at end of file
-- 
GitLab