Installer PyTorch
- Leçon 5
- 40 min
- Module 2 : Les tenseurs et PyTorch
Leçon 5 sur 23 · L'apprentissage profond et les transformeurs expliquésInstaller PyTorch
1. Ce qu'est un réseau de neurones
2. Les tenseurs et PyTorch
3. Comment les réseaux de neurones apprennent
4. Diagnostiquer les problèmes d'entraînement
5. Représenter les séquences et le sens
6. Assembler un transformeur
7. Utiliser des modèles préentraînés
8. Sous le capot : les mathématiquesFacultatif
Ce que vous saurez faire
Faites fonctionner PyTorch, dans Colab ou sur votre ordinateur. Puis vérifiez-le avec une première exécution : vous pouvez comparer chaque nombre affiché avec cette page. Chaque leçon suivante commence ainsi avec une configuration que vous savez fonctionnelle.
Carnet JupyterLa première exécution dans un carnet Jupyter (avec Colab)
Le carnet (notebook) Jupyter vérifie PyTorch, exécute le code de première exécution de cette leçon et télécharge les billets de soutien avec leurs sommes de contrôle. Il ne nécessite aucune installation. Environ 10 minutes.
Le carnet est en anglais. Colab et Kaggle ouvrent votre propre copie. Il faut un compte Google ou Kaggle gratuit. Vous êtes bloqué ? Consultez le carnet de solution.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Les tenseurs, les formes et le type de données
float32, présentés dans Tenseurs et formes. - Pour l’option locale : le terminal et le répertoire de travail, présentés dans Les fichiers et le terminal, et les environnements virtuels, dans Isoler les dépendances du cours Python.
Ce qu’il vous faut sur votre ordinateur
- Pour l’option carnet : un navigateur et un compte Google gratuit (Colab) ou un compte Kaggle.
- Pour l’option locale : Python 3.12 ou plus récent (PyTorch 2.14.1 nécessite la version 3.10 ou plus récente) et VS Code. Il vous faut aussi une connexion Internet et environ 1 Go d’espace disque libre. Le téléchargement fait environ 130 Mo sur macOS et Windows, et environ 200 Mo sur Linux.
Testé avec PyTorch 2.14.1 sur macOS (Apple silicon), avec Python 3.14.6 et 3.12.13. Aussi testé sur Linux (Debian 13, ARM, dans un conteneur) avec Python 3.12.15 et la version pour processeur. Non testés par nous : Windows, Linux sur un processeur Intel ou AMD, et le carnet dans Colab et Kaggle. Nous avons exécuté le carnet dans Jupyter sur macOS. Les commandes pour ces systèmes suivent les instructions de PyTorch.
Vérifier le four avant de cuisiner
Section intitulée « Vérifier le four avant de cuisiner »Une cuisinière dans une nouvelle cuisine ne commence pas par un souper pour douze invités. D’abord, elle chauffe le four et prépare un plat simple qu’elle connaît bien. Si le résultat est comme d’habitude, le four fonctionne. Sinon, elle le découvre maintenant et a le temps de régler le problème, sans faire attendre les invités.
Le problème : une configuration qui ne fonctionne qu’à moitié
Section intitulée « Le problème : une configuration qui ne fonctionne qu’à moitié »Une configuration PyTorch peut échouer sans signe évident. Python trouve une ancienne version, ou un autre Python que celui où vous avez fait l’installation. Sur Linux, un simple pip install torch télécharge la version pour les cartes graphiques NVIDIA. Le paquet torch seul fait 555 Mo, et ses bibliothèques graphiques ajoutent plus de 1 Go. Même une configuration parfaite affiche des nombres aléatoires différents à chaque exécution. Vous ne pouvez donc pas comparer votre sortie avec cette page :
import torchprint(torch.rand(3))print(torch.rand(3))La sortie (vos nombres diffèrent) :
tensor([0.8203, 0.2212, 0.8055])tensor([0.1816, 0.2661, 0.1560])torch.rand(3) produit 3 nombres aléatoires entre 0 et 1. Chaque appel donne de nouveaux nombres. Un réseau commence avec des poids aléatoires. Un réseau non entraîné sur votre ordinateur donnerait donc d’autres scores que celui de La propagation avant. Vous ne pourriez pas distinguer un problème de configuration du hasard.
L’idée : une première exécution au résultat connu, avec une graine
Section intitulée « L’idée : une première exécution au résultat connu, avec une graine »Une première exécution au résultat connu utilise un petit programme dont on connaît la sortie exacte à l’avance. Vous l’exécutez une fois, juste après la configuration, et comparez chaque ligne. Si toutes les lignes correspondent, la configuration fonctionne. Si une ligne diffère, vous savez quelle partie corriger avant de commencer le vrai travail.
Pour que les nombres correspondent, les nombres aléatoires doivent se répéter. Les nombres aléatoires d’un ordinateur proviennent d’une recette fixe qui commence par un nombre, la graine. Le nom convient : la même graine donne toujours la même plante. torch.manual_seed(0) fixe la graine à 0. Les nombres aléatoires suivants sont donc toujours les mêmes :
torch.manual_seed(0)print(torch.rand(3))torch.manual_seed(0)print(torch.rand(3))La sortie :
tensor([0.4963, 0.7682, 0.0885])tensor([0.4963, 0.7682, 0.0885])Description textuelle du diagramme
Le diagramme a deux panneaux. Le panneau de gauche, « No seed » (sans graine), exécute print(torch.rand(3)) deux fois. La première fois donne 0,8203, 0,2212 et 0,8055. La deuxième fois donne 0,1816, 0,2661 et 0,1560. Les nombres sont différents chaque fois. Le panneau de droite, « With a seed » (avec une graine), fixe torch.manual_seed(0) avant chaque print(torch.rand(3)). Les deux fois donnent 0,4963, 0,7682 et 0,0885 : les mêmes nombres chaque fois.
La graine fixe aussi les poids de départ d’un réseau. nn.Linear(3, 2) crée une couche avec 3 entrées et 2 sorties, comme dans Neurones et couches. Ses 6 poids sont aléatoires au départ. Avec la graine 0, ils sont toujours les suivants :
from torch import nn
torch.manual_seed(0)layer = nn.Linear(3, 2) # a new layer: 3 inputs, 2 outputs, random starting weightsprint(layer.weight)La sortie :
Parameter containing:tensor([[-0.0043, 0.3097, -0.4752], [-0.4249, -0.2224, 0.1548]], requires_grad=True)Une graine ne rend pas un résultat meilleur. Elle le rend reproductible, pour vous permettre de comparer et de trouver des bogues. Chaque leçon de ce cours fixe la graine. PyTorch prévient que les nombres aléatoires peuvent tout de même différer selon les versions et le matériel. Nous avons obtenu les mêmes nombres avec la même graine dans PyTorch 2.14.1 sur macOS et Linux.
Deux options permettent d’obtenir une configuration fonctionnelle. Les deux se terminent par la même première exécution.
Description textuelle du diagramme
Le diagramme commence par deux cases. La première est un carnet dans Colab ou Kaggle, où PyTorch est déjà installé. La deuxième est votre ordinateur, avec le dossier de projet ticket-router, un environnement virtuel .venv et pip install torch. Les deux cases mènent à une seule case : exécuter le code de première exécution. Ensuite, une question : la sortie est-elle la même que dans la leçon? Si oui, vous êtes prêt pour la prochaine leçon. Sinon, lisez l’erreur, ou réinitialisez la configuration et réessayez; une flèche pointillée revient à la première exécution.
Le programme de première exécution
Section intitulée « Le programme de première exécution »Voici le programme. Chaque étape suivante l’exécute. Il affiche les versions, un tenseur de forme (2, 3) généré avec une graine et sa somme. Il cherche aussi une carte graphique. torch.cuda.is_available() est vrai quand PyTorch peut utiliser une carte graphique NVIDIA. torch.backends.mps.is_available() est vrai sur un Mac avec Apple silicon.
"""The known-good first run of the deep learning course: versions, device and a seeded tensor."""import platform
import torch
print("Python ", platform.python_version())print("PyTorch", torch.__version__)
torch.manual_seed(0) # the same seed gives the same random numbersx = torch.rand(2, 3) # 2 rows, 3 columns, numbers between 0 and 1print(x)print("shape", tuple(x.shape), "| dtype", x.dtype, "| device", x.device)print("sum", round(x.sum().item(), 4))
if torch.cuda.is_available(): accelerator = "cuda (an NVIDIA graphics card)"elif torch.backends.mps.is_available(): accelerator = "mps (an Apple silicon graphics unit)"else: accelerator = "none"print("accelerator:", accelerator, "| this course uses the CPU")La sortie, sur un Mac avec Python 3.14.6 :
Python 3.14.6PyTorch 2.14.1tensor([[0.4963, 0.7682, 0.0885], [0.1320, 0.3074, 0.6341]])shape (2, 3) | dtype torch.float32 | device cpusum 2.4265accelerator: mps (an Apple silicon graphics unit) | this course uses the CPULa sortie, sur Linux avec la version pour processeur :
Python 3.12.15PyTorch 2.14.1+cputensor([[0.4963, 0.7682, 0.0885], [0.1320, 0.3074, 0.6341]])shape (2, 3) | dtype torch.float32 | device cpusum 2.4265accelerator: none | this course uses the CPULes lignes 3 à 6 doivent correspondre exactement : le tenseur, sa forme, son type de données, son périphérique et la somme 2,4265. Les autres lignes peuvent différer. Votre version de Python peut être une autre version 3.12 ou plus récente. La version de PyTorch se termine par +cpu sur Windows et Linux. Colab peut avoir une version 2.x plus récente. La ligne de l’accélérateur dépend de votre matériel.
Option 1 : un carnet dans Colab ou Kaggle
Section intitulée « Option 1 : un carnet dans Colab ou Kaggle »Colab et Kaggle exécutent les carnets sur leurs propres ordinateurs, où PyTorch est déjà installé. C’est l’option la plus rapide, et tous les carnets du cours y fonctionnent.
- Dans l’encadré La première exécution dans un carnet Jupyter en haut de cette page, sélectionnez Open in Colab (ouvrir dans Colab). Connectez-vous avec votre compte Google si Colab le demande.
- Vérifiez l’environnement d’exécution : Runtime › Change runtime type (exécution › modifier le type d’environnement d’exécution) affiche CPU (processeur). Gardez ce réglage. Le cours ne nécessite pas de carte graphique.
- Exécutez la première cellule de code avec Shift+Enter (Maj+Entrée). Vous voyez une ligne qui commence par
PyTorch 2.et se termine pardevice cpu(périphérique processeur). - Exécutez les deux cellules de configuration suivantes. La cellule de données se termine par
Ready: train 4696 tickets, valid 600, test 600.(prêt : 4 696 billets d’entraînement, 600 de validation, 600 de test). La cellule des fonctions auxiliaires n’affiche rien. - Exécutez la cellule de première exécution dans la section 1. Comparez les lignes 3 à 6 avec la sortie ci-dessus. La cellule de vérification en dessous affiche
Check passed(vérification réussie).
Dans Kaggle, sélectionnez plutôt Open in Kaggle (ouvrir dans Kaggle). Activez Internet dans les paramètres du carnet avant l’étape 4; Kaggle exige un numéro de téléphone vérifié pour cela. Votre copie du carnet est privée, et vos modifications restent dans votre compte.
Option 2 : votre ordinateur
Section intitulée « Option 2 : votre ordinateur »Travaillez sur votre ordinateur pour conserver les fichiers entre les sessions ou travailler sans navigateur. Le code du cours fonctionne sur tout ordinateur portable ordinaire.
Créer le dossier de projet et l’environnement
Section intitulée « Créer le dossier de projet et l’environnement »-
Ouvrez un terminal. Vérifiez la version de Python :
Fenêtre de terminal python3 --versionFenêtre de terminal python --versionFenêtre de terminal python3 --versionVous voyez
Python 3.12ou un numéro plus élevé. Si vous voyez 3.11 ou moins, ou « command not found » (commande introuvable), installez Python selon Installer et vérifier Python. -
Créez le dossier
ticket-routeret placez-vous dedans :Fenêtre de terminal mkdir -p ~/projects/ticket-routercd ~/projects/ticket-routerFenêtre de terminal mkdir ~\projects\ticket-routercd ~\projects\ticket-routerFenêtre de terminal mkdir -p ~/projects/ticket-routercd ~/projects/ticket-router -
Créez l’environnement virtuel, puis activez-le :
Fenêtre de terminal python3 -m venv .venvsource .venv/bin/activateFenêtre de terminal python -m venv .venv.venv\Scripts\Activate.ps1Si PowerShell indique que l’exécution des scripts est désactivée, consultez l’erreur courante sur Windows dans Isoler les dépendances.
Fenêtre de terminal python3 -m venv .venvsource .venv/bin/activateSi la sortie indique que
ensurepipn’est pas disponible, exécutez d’abordsudo apt install python3-venv. -
Vérifiez que l’invite de commande commence par
(.venv). Désormais, tapezpythonsur tous les systèmes.
Exécutez toutes les commandes de ce cours dans ce dossier, avec l’environnement actif.
Installer PyTorch
Section intitulée « Installer PyTorch »-
Installez PyTorch :
Fenêtre de terminal python -m pip install torch==2.14.1Fenêtre de terminal python -m pip install torch==2.14.1 --index-url https://download.pytorch.org/whl/cpuFenêtre de terminal python -m pip install torch==2.14.1 --index-url https://download.pytorch.org/whl/cpuCela prend une ou deux minutes.
==2.14.1demande la version exacte testée pour le cours. -
Installez NumPy, pandas et
ipykernelpour les carnets dans VS Code. Les cellules de vérification des carnets du cours utilisent pandas.Fenêtre de terminal python -m pip install numpy==2.5.3 pandas==3.0.6 ipykernel -
Enregistrez les versions, comme dans Isoler les dépendances :
Fenêtre de terminal python -m pip freeze > requirements-lock.txtLe fichier liste environ 40 paquets, dont
torch==2.14.1(torch==2.14.1+cpusur Windows et Linux) etnumpy==2.5.3.
Faire la première exécution
Section intitulée « Faire la première exécution »-
Dans VS Code, ouvrez le dossier
ticket-router(File › Open Folder, fichier › ouvrir un dossier). -
Créez un fichier
first_run.pyet copiez-y le programme ci-dessus. Enregistrez-le. -
Dans le terminal, exécutez-le :
Fenêtre de terminal python first_run.py -
Comparez les lignes 3 à 6 avec la sortie ci-dessus : le tenseur,
shape (2, 3) | dtype torch.float32 | device cpu(forme, type de données et périphérique) etsum 2.4265(somme).
Récupérer les billets
Section intitulée « Récupérer les billets »La prochaine leçon lit les billets de Larkfield. Le script get_data.py les télécharge avec le fichier ticketnet.py du cours et vérifie la somme de contrôle de chaque fichier. Il utilise seulement la bibliothèque standard de Python.
-
Téléchargez le script dans le dossier de projet :
Fenêtre de terminal curl -fsSL -O https://raw.githubusercontent.com/Nextia-Intelligence/nextia-learning-labs/main/C06/get_data.pyFenêtre de terminal curl.exe -fsSL -O https://raw.githubusercontent.com/Nextia-Intelligence/nextia-learning-labs/main/C06/get_data.pyTapez
curl.exe, pascurl. Dans Windows PowerShell,curlest une autre commande.Fenêtre de terminal curl -fsSL -O https://raw.githubusercontent.com/Nextia-Intelligence/nextia-learning-labs/main/C06/get_data.py -
Exécutez-le :
Fenêtre de terminal python get_data.pyLa sortie :
Downloaded data/train.csvDownloaded data/valid.csvDownloaded data/test.csvDownloaded data/split_manifest.jsonDownloaded ticketnet.pyReady: train 4696 tickets, valid 600, test 600. -
Exécutez-le une deuxième fois. Il affiche seulement la ligne
Ready:(prêt), car tous les fichiers sont présents et corrects.
Le dossier contient maintenant .venv/, requirements-lock.txt, first_run.py, get_data.py, ticketnet.py et data/ avec trois fichiers CSV et split_manifest.json. Pour utiliser les carnets dans VS Code, sélectionnez le noyau .venv, comme dans Ouvrir un carnet dans VS Code du cours d’apprentissage automatique.
Facultatif : une carte graphique
Section intitulée « Facultatif : une carte graphique »Une carte graphique effectue de nombreuses multiplications en même temps. Elle entraîne donc les grands réseaux beaucoup plus vite. Les réseaux de ce cours sont petits et s’entraînent en quelques secondes ou minutes sur un processeur. Tous les nombres de ce cours proviennent donc d’un processeur, et vous n’avez pas besoin de carte graphique. Une carte graphique donne aussi des décimales légèrement différentes. Vos résultats ne correspondraient donc pas exactement à cette page.
Pour en essayer une plus tard, la méthode habituelle choisit le périphérique une fois. Elle y déplace ensuite les tenseurs (et le réseau) avec .to(device) :
device = "cuda" if torch.cuda.is_available() else "cpu"x = torch.rand(2, 3).to(device)print(x.device)La sortie, sur un ordinateur sans carte graphique NVIDIA :
cpuSur un Mac, le périphérique "mps" fonctionne de la même façon. Tous les tenseurs d’une opération doivent se trouver sur le même périphérique. Voici ce qui arrive sur un Mac lorsqu’un tenseur sur l’unité graphique rencontre un tenseur sur le processeur :
on_gpu = torch.ones(3, device="mps")on_cpu = torch.ones(3)print(on_gpu + on_cpu)La sortie :
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, mps:0 and cpu!on_gpu.to("cpu") + on_cpu fonctionne et donne tensor([2., 2., 2.]). Dans Colab, Runtime › Change runtime type propose une carte graphique, gratuite avec des limites de temps. Nous n’avons pas testé le cours dessus.
Réinitialiser la configuration
Section intitulée « Réinitialiser la configuration »Pour revenir à un état connu :
- Colab ou Kaggle : dans Colab, sélectionnez Runtime › Disconnect and delete runtime (exécution › déconnecter et supprimer l’environnement d’exécution). Dans Kaggle, arrêtez la session et redémarrez-la. Puis exécutez de nouveau les cellules depuis le début.
- L’environnement : exécutez
deactivate, supprimez le dossier.venv, puis reprenez Créer le dossier de projet et l’environnement à l’étape 3, et refaites Installer PyTorch. - Les données et
ticketnet.py: exécutezpython get_data.py --reset. Cette commande supprimedata/etticketnet.pyet les télécharge de nouveau. La dernière ligne est la ligneReady:.
Après une réinitialisation, exécutez de nouveau python first_run.py et comparez.
Exercice guidé : votre première exécution
Section intitulée « Exercice guidé : votre première exécution »- Choisissez votre option : le carnet ou votre ordinateur.
- Faites toutes les étapes de cette option.
- Faites la première exécution. Notez la somme affichée.
- Notez votre version de Python, votre version de PyTorch et la ligne de l’accélérateur.
- Récupérez les billets. Vérifiez la ligne
Ready:.
Afficher un exemple de résultat correct
La somme est sum 2.4265, et le tenseur est exactement [[0.4963, 0.7682, 0.0885], [0.1320, 0.3074, 0.6341]]. La version de Python est 3.12 ou plus récente, et celle de PyTorch commence par 2. (2.14.1 sur votre ordinateur). La ligne de l’accélérateur indique none (aucun) sur la plupart des portables Windows et Linux et dans un environnement Colab pour processeur. Elle indique mps sur un Mac avec Apple silicon. La ligne des données est Ready: train 4696 tickets, valid 600, test 600. Si tout correspond, votre configuration est bonne.
À vous de jouer : une autre graine
Section intitulée « À vous de jouer : une autre graine »Changez une seule chose dans first_run.py : torch.manual_seed(0) devient torch.manual_seed(1). Avant de l’exécuter, prédisez : le tenseur sera-t-il le même qu’avant? Deux exécutions avec la graine 1 donneront-elles les mêmes nombres? Puis exécutez-le deux fois.
Afficher la réponse
tensor([[0.7576, 0.2793, 0.4031], [0.7347, 0.0293, 0.7999]])shape (2, 3) | dtype torch.float32 | device cpusum 3.0038Les nombres diffèrent de ceux de la graine 0. Ils sont identiques dans les deux exécutions avec la graine 1. Chaque graine démarre sa propre séquence fixe de nombres aléatoires. Donc, « fixer une graine » ne suffit pas dans un rapport : précisez laquelle. Ce cours utilise toujours la graine 0. Remettez-la avant la prochaine leçon.
Erreur courante
No module named 'torch' (aucun module nommé 'torch')
Symptôme : vous avez installé PyTorch, mais first_run.py s’arrête à sa première importation :
Traceback (most recent call last): File "/Users/amira/projects/ticket-router/first_run.py", line 4, in <module> import torchModuleNotFoundError: No module named 'torch'Cause : le script utilise un Python qui n’a pas PyTorch. Généralement, l’environnement n’est pas actif dans ce terminal. Un nouveau terminal démarre sans lui, et l’invite de commande n’affiche pas (.venv). Dans VS Code, le bouton Run (exécuter) peut aussi utiliser un autre interpréteur que le terminal.
Solution :
- Vérifiez quel Python s’exécute :
python -c "import sys; print(sys.executable)". - Si le chemin n’est pas dans
ticket-router/.venv, activez l’environnement et exécutez de nouveau le script. - Si le chemin est correct, PyTorch n’est pas dans cet environnement. Refaites Installer PyTorch.
- Dans VS Code, sélectionnez l’interpréteur
.venv, comme dans Isoler les dépendances.
Ce que cela signifie pour le travail réel en IA : la plupart des problèmes « ça ne fonctionne pas sur mon ordinateur » viennent d’un autre interpréteur ou d’une autre version de paquet. Une première exécution qui affiche les versions les repère en quelques secondes.
Vérification des connaissances
Section intitulée « Vérification des connaissances »Vérifiez votre compréhension
Pourquoi chaque leçon de ce cours fixe-t-elle une graine aléatoire? Que ne fait pas une graine?
Afficher la réponse
Un réseau commence avec des poids aléatoires, et d’autres étapes utilisent aussi des nombres aléatoires. Avec une graine, les nombres aléatoires se répètent. Votre exécution donne donc les mêmes nombres que la leçon. Une différence indique alors une différence réelle, comme un bogue ou une autre configuration, et non le hasard. Une graine ne rend pas un résultat meilleur ni plus juste. Elle le rend seulement reproductible. C’est aussi un choix parmi plusieurs : une autre graine donne d’autres nombres. Un rapport devrait donc préciser la graine.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Votre première exécution affiche PyTorch 2.14.1+cpu et accelerator : none, mais une somme de 2,4265 et le même tenseur que cette page. L'exécution d'un ami affiche PyTorch 2.14.1 et accelerator : mps. Une des configurations est-elle incorrecte?
Afficher la réponse
Non. Les deux conviennent. Les éléments qui doivent correspondre sont le tenseur produit avec la graine, sa forme, son type et son périphérique. La somme doit aussi être 2,4265. +cpu indique seulement que vous avez installé la version pour processeur depuis le serveur de PyTorch. C’est le bon choix sur Windows et Linux. La ligne de l’accélérateur dépend du matériel : votre ami utilise un Mac avec une puce Apple. Le cours utilise le processeur sur les deux ordinateurs. Les deux obtiennent donc les mêmes nombres.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Tomás exécute pip install torch sur un portable Linux. Le téléchargement dépasse 1,5 Go et prend beaucoup de temps. Que s'est-il passé, et que devrait-il exécuter à la place?
Afficher la réponse
Sur Linux, le paquet standard de PyTorch est conçu pour les cartes graphiques NVIDIA. pip télécharge le paquet torch (555 Mo) et les bibliothèques graphiques nécessaires, soit plus de 1,5 Go au total. Le cours utilise le processeur, donc il n’en a pas besoin. Il devrait supprimer l’environnement, le recréer, puis exécuter python -m pip install torch==2.14.1 --index-url https://download.pytorch.org/whl/cpu. Cette commande télécharge la version pour processeur, soit environ 200 Mo.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- Une première exécution au résultat vérifié utilise un petit programme dont on connaît la sortie. Exécutez-le après chaque installation et chaque réinitialisation, puis comparez les résultats ligne par ligne.
- Une graine aléatoire fait se répéter les nombres aléatoires.
torch.manual_seed(0)suivi detorch.rand(2, 3)donne un tenseur dont la somme est 2,4265. La graine fixe aussi les poids de départ d’un nouveau réseau. - Colab ou Kaggle : PyTorch est déjà installé; ouvrez le carnet (notebook) Jupyter et exécutez-le. Votre ordinateur :
ticket-routeravec.venv, puispip install torch==2.14.1(avec le--index-urlpour processeur sur Windows et Linux),numpy==2.5.3,pandas==3.0.6etipykernel. get_data.pytélécharge les billets de soutien etticketnet.py, les vérifie, puis termine avecReady: train 4696 tickets, valid 600, test 600.(prêt : 4 696 billets d’entraînement, 600 de validation, 600 de test).- Une carte graphique est facultative. Détectez-la avec
torch.cuda.is_available()outorch.backends.mps.is_available(); tous les nombres de ce cours sont obtenus avec le processeur. - Réinitialisation : supprimez
.venvet recréez-le, ou exécutezpython get_data.py --reset, puis relancez la première exécution.
Ensuite, vous transformerez les billets de Larkfield en tenseurs et les ferez passer dans un premier réseau.
Leçon suivante : La propagation avant