diff --git a/content/course/modern-ds/dallE/index.qmd b/content/course/modern-ds/dallE/index.qmd
index 29a0ad474..32c4c0575 100644
--- a/content/course/modern-ds/dallE/index.qmd
+++ b/content/course/modern-ds/dallE/index.qmd
@@ -1,5 +1,5 @@
---
-title: "Génération d'images avec Python et DALL-E"
+title: "Génération d'images avec Python, DALL-E et StableDiffusion"
date: 2022-08-26T13:00:00Z
draft: false
weight: 60
@@ -46,7 +46,12 @@ print_badges("content/course/modern-ds/dallE.qmd")
```
:::
-{{% box status="note" title="Remarque" icon="fa fa-lightbulb" %}}
+::: {.cell .markdown}
+```{=html}
+
+
Note
+```
+
L'utilisation de ce tutoriel est assez exigeante en termes d'infrastructure
car il est nécessaire de disposer de GPU.
@@ -58,33 +63,110 @@ Pour le moment, il faudra
se contenter de `Google Colab` pour tester ces exemples. La configuration
à mettre en oeuvre pour tester ces exemples est présentée dans une autre
boîte.
-{{% /box %}}
-{{% box status="note" title="Utiliser des GPU sur `Colab`" icon="fa fa-lightbulb" %}}
+```{=html}
+
+```
+:::
+
+::: {.cell .markdown}
+```{=html}
+
+
Hint
+```
+
Par défaut, Colab n'utilise pas de GPU mais de la CPU. Il est donc nécessaire
d'éditer les paramètres d'exécution du Notebook
- Dans le menu `Exécution`, cliquer sur `Modifier le type d'exécution`
- Sélectionner `GPU` sous `Accélérateur matériel`
-{{% /box %}}
+
+```{=html}
+
+```
+:::
# Contexte
-La publication par l'organisation [Open AI](https://openai.com/) de
-son modèle de génération de contenu créatif [Dall-E-2](https://openai.com/dall-e-2/)
+La publication en avril 2022 par l'organisation [Open AI](https://openai.com/) de
+son modèle de génération de contenu créatif [`Dall-E-2`](https://openai.com/dall-e-2/)
(un jeu de mot mélangeant Dali et Wall-E) a créé un bruit inédit dans
-le monde de la _data-science_.
-Un compte twitter ([@Weird Dall-E Mini Generations](https://twitter.com/weirddalle))
-propose de nombreuses générations de contenu drôles ou incongrues.
+le monde de la _data-science_[^1].
+
+L'inconvénient principal de `Dall-E`
+pour générer facilement du contenu
+est que le nombre de contenu pouvant être créé
+avec un accès gratuit est limité (50 crédits gratuits par mois)[^2].
+Depuis le 22 Août 2022, un générateur de contenu
+similaire est disponible gratuitement,
+avec une licence plus permissive[^3]. Ce générateur, développé
+par une équipe de chercheurs [@Rombach_2022_CVPR],
+s'appelle `Stable Diffusion` ([dépôt `Github` pour le code source](https://github.com/CompVis/stable-diffusion) et
+[dépôt `HuggingFace` pour le modèle mis à disposition](https://huggingface.co/CompVis/stable-diffusion-v1-4)[^4]).
+Un [excellent article de blog](https://huggingface.co/blog/stable_diffusion) décrit la démarche de `Stable Diffusion`. La plupart des exemples originaux
+dans cette partie seront basés sur `Stable Diffusion`.
+
+[^1]: _[The Economist](https://www.economist.com/news/2022/06/11/how-a-computer-designed-this-weeks-cover)_ a par exemple consacré
+un numéro a ce sujet. Ce bruit sur la capacité des
+intelligences artificielle à générer du contenu créatif
+a d'ailleurs été amplifié plus récemment
+avec la publication du _chatbot_ `chatGPT`.
Le bloggeur tech Casey Newton a pu parler d'une
[révolution créative dans le monde de l'IA](https://www.platformer.news/p/how-dall-e-could-power-a-creative).
-Voici par exemple l'une des productions possibles de DALL-E-2
+[^2]: Au départ, la liste d'attente de deux semaines pour pouvoir créer un compte
+a également été un frein. Celle-ci a néanmoins rapidement été levée.
+
+[^3]: Il est notamment possible de réutiliser l'image générée à des fins commerciales. En revanche, il est interdit de chercher à nuire à une personne. Pour cette raison, il est fréquent que les visages de personnes célèbres soient floutés pour éviter la création de contenu nuisant à leur réputation.
+
+[^4]: `Huggingface` est une plateforme de partage de modèles de type réseau de neurone. Les utilisateurs de réseaux de neurone peuvent
+ainsi mettre à disposition le résultat de leurs travaux sous forme d'API pour faciliter la réutilisation de leurs
+modèles ou réutiliser facilement des modèles, ce qui évite de les ré-entraîner (ce qui aurait un coût écologique non
+négligeable comme expliqué dans le chapitre introductif).
+
+
+`Dall-E-2` et `StableDiffusion`
+sont des modèles généralistes.
+D'autres modèles, plus spécialisés,
+existent également.
+Le modèle [`Midjourney`](https://en.wikipedia.org/wiki/Midjourney)
+(produit propriétaire de la société du même nom)
+permet la production de contenu
+artistique, [DreamBooth](https://dreambooth.github.io/) (développé par Google)
+est spécialisé dans la génération de contenu dans un nouveau
+contexte.
+
+Le principe de tous ces modèles est le même: un utilisateur
+donne une instruction (une ou plusieurs phrases) et l'intelligence
+artificielle l'interprète et génère une image censée être
+cohérente avec l'instruction.
+
+Voici par exemple l'une des productions possibles de `DALL-E-2`
![](https://upload.wikimedia.org/wikipedia/commons/2/2b/A_Shiba_Inu_dog_wearing_a_beret_and_black_turtleneck_DALLE2.jpg)
_"A Shiba Inu dog wearing a beret and black turtleneck"_
-Et voici un premier exemple de production humoristique faite à partir de Mini Dall-E, la version
+
+`Midjourney`, spécialisé dans le contenu esthétique,
+génèrera l'image suivante avec l'instruction _"mechanical dove"_:
+
+![](https://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/A_mechanical_dove_8274822e-52fe-40fa-ac4d-f3cde5a332ae.png/250px-A_mechanical_dove_8274822e-52fe-40fa-ac4d-f3cde5a332ae.png)
+
+`StableDiffusion`, modèle généraliste comme `Dall-E`,
+crééra le contenu suivant avec
+l'instruction _"A photograph of an astronaut riding a horse"_:
+
+!["A photograph of an astronaut riding a horse"](https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/A_photograph_of_an_astronaut_riding_a_horse_2022-08-28.png/250px-A_photograph_of_an_astronaut_riding_a_horse_2022-08-28.png)
+
+Enfin, `DreamBooth` pourra lui introduire un chien dans une grande variété
+de contextes:
+
+![](https://dreambooth.github.io/DreamBooth_files/teaser_static.jpg)
+
+
+Un compte _Twitter_ ([@Weird Dall-E Mini Generations](https://twitter.com/weirddalle))
+propose de nombreuses générations de contenu drôles ou incongrues.
+Voici un premier exemple de production humoristique faite à partir de Mini Dall-E, la version
publique:
@@ -96,7 +178,8 @@ Ainsi qu'un deuxième:
{{< tweet user="weirddalle" id="1556573904600268801" >}}
-Dall-E-2 s'appuie sur des réseaux de neurone à différents niveaux :
+Les modèles `Dall-E-2` et `Stable Diffusion`
+s'appuient sur des réseaux de neurone à différents niveaux :
- le contenu de la phrase est analysé par un réseau de neurone similaire (mais bien sûr plus évolué) que
ceux que nous avons présenté dans la partie [NLP](#nlp)
@@ -107,25 +190,6 @@ modèles entraînés à reconnaître des images
Illustration du fonctionnement de ce type de générateur d'image (ici à partir de `Stable Diffusion`)
-Jusqu'à présent, l'inconvénient principal de `Dall-E`
-pour générer facilement du contenu
-était que le nombre de contenu pouvant être créé
-avec un accès gratuit était limité (50 crédits gratuits par mois).
-Depuis le 22 Août 2022, un générateur de contenu
-similaire est disponible gratuitement,
-avec une licence plus permissive[^1]. Ce générateur, développé
-par une équipe de chercheurs [@Rombach_2022_CVPR],
-s'appelle `Stable Diffusion` ([dépôt `Github` pour le code source](https://github.com/CompVis/stable-diffusion) et
-[dépôt `HuggingFace` pour le modèle mis à disposition](https://huggingface.co/CompVis/stable-diffusion-v1-4)[^2]).
-Un [excellent article de blog](https://huggingface.co/blog/stable_diffusion) décrit la démarche de `Stable Diffusion`.
-
-
-[^1]: Il est notamment possible de réutiliser l'image générée à des fins commerciales. En revanche, il est interdit de chercher à nuire à une personne. Pour cette raison, il est fréquent que les visages de personnes célèbres soient floutés pour éviter la création de contenu nuisant à leur réputation.
-
-[^2]: `Huggingface` est une plateforme de partage de modèles de type réseau de neurone. Les utilisateurs de réseaux de neurone peuvent
-ainsi mettre à disposition le résultat de leurs travaux sous forme d'API pour faciliter la réutilisation de leurs
-modèles ou réutiliser facilement des modèles, ce qui évite de les ré-entraîner (ce qui aurait un coût écologique non
-négligeable comme expliqué dans le chapitre introductif).
Les images générées par `Stable Diffusion` sont également impressionnantes: