Enregistrer et charger avec state_dict
Sauvegardez les poids pour reprendre plus tard.
Enregistrer et charger avec state_dict est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Deep Learning Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Deep Learning Academy comprend 4 leçons au total.
Pourquoi les points de contrôle sont importants
L’apprentissage peut prendre des heures et des plantages peuvent survenir. En enregistrant votre progression dans un point de contrôle, vous pouvez arrêter, reprendre ou déployer le modèle sans recommencer l’apprentissage depuis zéro.
Ce que contient un state_dict
Le state_dict d’un modèle est un dictionnaire simple qui associe le nom de chaque couche à ses tenseurs appris. Il contient tout ce que le modèle a appris, prêt à être stocké.
model.state_dict()Enregistrez les poids
Utilisez torch.save sur le state_dict pour enregistrer les poids sur le disque. L’extension .pt ou .pth est la convention courante pour ces fichiers.
torch.save(model.state_dict(), 'model.pt')Rechargez les poids
Pour restaurer les poids, lisez le fichier avec torch.load et chargez-le dans un modèle à l’aide de load_state_dict. L’architecture doit correspondre à celle qui a été enregistrée.
model.load_state_dict(torch.load('model.pt'))Recréez d’abord l’architecture
Un state_dict contient des nombres, pas la classe elle-même. Vous devez reconstruire le même objet modèle dans le code avant de pouvoir y charger les poids.
model = MyNet()
model.load_state_dict(torch.load('model.pt'))Mode évaluation après le chargement
Juste après le chargement pour l’inférence, appelez model.eval(). Cela fait passer l’abandon et la normalisation par lots en mode prédiction, afin que les sorties soient correctes.
model.eval()Enregistrez aussi l’optimiseur
Pour reprendre réellement l’apprentissage, enregistrez également le state_dict de l’optimiseur. Il contient l’élan et les statistiques adaptatives qui seraient sinon réinitialisés à zéro.
torch.save(optimizer.state_dict(), 'opt.pt')Regroupez un point de contrôle complet
Regroupez le modèle, l’optimiseur et l’époque actuelle dans un seul dictionnaire de point de contrôle. Un seul fichier peut alors restaurer toute votre session d’apprentissage.
ckpt = {'epoch': epoch, 'model': model.state_dict(), 'opt': optimizer.state_dict()}
torch.save(ckpt, 'ckpt.pt')Reprenez depuis un point de contrôle
Chargez le regroupement, puis restaurez chaque élément l’un après l’autre. La lecture de l’époque enregistrée vous permet de reprendre la boucle exactement là où elle s’était arrêtée.
ckpt = torch.load('ckpt.pt')
model.load_state_dict(ckpt['model'])
optimizer.load_state_dict(ckpt['opt'])Associez les poids au bon périphérique
Si vous avez enregistré les poids sur un GPU et que vous les chargez sur un CPU, transmettez map_location à torch.load. Les poids seront déplacés vers un périphérique réellement disponible sur votre machine.
torch.load('model.pt', map_location='cpu')Enregistrez le meilleur modèle, pas le dernier
Surveillez la perte de validation et ne remplacez votre point de contrôle que lorsqu’elle s’améliore. Vous conservez ainsi le meilleur modèle, et non celui produit par la dernière époque.
Vérification rapide
Vous avez enregistré uniquement model.state_dict(). Qu’est-ce qui doit exister avant de pouvoir le charger ?
Récapitulatif
Enregistrez les poids avec state_dict et torch.save, reconstruisez le modèle pour les charger, puis regroupez l’optimiseur et l’époque pour pouvoir reprendre complètement l’apprentissage. Conservez le meilleur modèle. 💾
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Enregistrer et charger avec state_dict » est-elle gratuite ?
Oui — le texte complet de « Enregistrer et charger avec state_dict » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Deep Learning Academy, passe à CoddyKit PRO. Le cours Deep Learning Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Enregistrer et charger avec state_dict » ?
Sauvegardez les poids pour reprendre plus tard. Tu pratiques Deep Learning Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Deep Learning Academy ?
Aucune expérience préalable n'est requise. Deep Learning Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Enregistrer et charger avec state_dict » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Deep Learning Academy ?
Oui. Chaque leçon Deep Learning Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Séparer entraînement, validation et test
- Une boucle d’époque avec validation
- Enregistrer et charger avec state_dict
- Arrêt précoce selon la perte de validation