Installation de Docker Desktop
Docker Desktop est une application qui permet de créer et gérer des conteneurs sur votre machine.
Pour l'installer :
- Rendez-vous sur le site officiel Docker Desktop
- Téléchargez la version correspondant à votre système d'exploitation (Windows, macOS, ou Linux)
- Suivez les instructions d'installation
- Une fois installé, lancez Docker Desktop et attendez qu'il soit complètement démarré
Pour vérifier que Docker est correctement installé, ouvrez un terminal et exécutez :
docker --version
Téléchargement de l'image Docker
L'image Docker fournie pour ce cours contient un environnement Python complet avec les bibliothèques suivantes :
- NumPy et Pandas : analyse et manipulation de données
- OpenCV et PIL (Pillow) : traitement et manipulation d'images
- PyTorch et TorchVision : framework d'apprentissage profond
- scikit-learn : apprentissage automatique (ici pour les splits et les métriques)
- AlbumentationsX : augmentation de données pour les images
- tqdm : barres de progression
- Jupyter Lab : interface de développement interactive
Pour télécharger l'image, exécutez la commande suivante dans un terminal :
Terminal
docker pull gregorybourguin/pytorch-jupyter:latest
NB : Le téléchargement peut prendre plusieurs minutes selon votre connexion internet, l'image faisant plusieurs gigaoctets.
Création et démarrage du conteneur
Une fois l'image téléchargée, vous devez créer un conteneur à partir de cette image.
Créez un dossier sur votre machine qui contiendra vos notebooks (par exemple ~/cours_cv), puis exécutez :
Terminal
docker run -it --rm --name gb_pytorch -p 8888:8888 -v /chemin/vers/votre/dossier:/workspace gregorybourguin/pytorch-jupyter:latest
Explication des options :
-it : permet d'exécuter le conteneur en mode interactif avec un terminal
--rm : supprime automatiquement le conteneur une fois qu'il est arrêté
--name gb_pytorch : (optionnel) permet de nommer le conteneur
-p 8888:8888 : rend Jupyter Lab accessible sur le port 8888 de votre machine
-v /chemin/vers/votre/dossier:/workspace : monte votre dossier local dans le conteneur pour sauvegarder votre travail
--gpus all : (optionnel) utiliser les GPU de votre machine si disponibles
--shm-size=16g : (optionnel) augmente la taille de la mémoire partagée
Après le démarrage du conteneur, un lien vers Jupyter Lab sera affiché dans le terminal.
Arrêt du conteneur
Pour arrêter le conteneur, vous pouvez :
- Faire
CTRL+C dans le terminal où le conteneur s'exécute
- Ou utiliser Docker Desktop pour arrêter le conteneur graphiquement
Pour redémarrer votre environnement de travail, il suffit de relancer la commande docker run ou de démarrer le conteneur existant via Docker Desktop.
Organisation des TDs
Les travaux dirigés seront fournis sous forme de notebooks Jupyter (.ipynb).
Pour chaque TD :
- Téléchargez le notebook fourni
- Placez-le dans le dossier que vous avez monté dans le conteneur
- Ouvrez Jupyter Lab via votre navigateur
- Naviguez vers le notebook et ouvrez-le
- Complétez les exercices en suivant les instructions
NB : Vos modifications sont automatiquement sauvegardées dans votre dossier local grâce au montage de volume.
Vous ne perdrez pas votre travail même si vous arrêtez le conteneur.
Les CNN
Les Réseaux de Neurones Convolutifs (CNN - Convolutional Neural Networks) sont une classe d'architectures de réseaux de neurones profonds particulièrement efficaces pour l'analyse d'images.
Les CNN utilisent des opérations de convolution pour extraire automatiquement des caractéristiques hiérarchiques des images, allant de motifs simples (contours, textures) à des structures complexes (objets, visages).
Contrairement aux réseaux de neurones classiques, les CNN exploitent la structure spatiale des données d'entrée, ce qui les rend particulièrement adaptés aux tâches de vision par ordinateur : classification d'images, détection d'objets, segmentation sémantique, etc.
Dans ce cours, nous allons découvrir les principes fondamentaux des CNN, leurs composants essentiels (couches de convolution, pooling, ..., fully connected), et apprendre à les mettre en œuvre pour résoudre des problèmes concrets de traitement d'images.
Les poids du modèle entraîné sont disponibles ici.
-> Correction <-
-> Correction <-
Les images utilisées sont disponibles ici.
-> Correction <-
Les poids du modèle entraîné sont disponibles ici.
-> Correction <-