Dieser Artikel vermittelt Ihnen relevantes Wissen über Python. Er stellt hauptsächlich praktische Aufzeichnungen zu einigen Problemen beim Speichern und Laden von Pytorch-Modellen vor. Ich hoffe, dass er für alle hilfreich ist.
【Verwandte Empfehlungen: Python3-Video-Tutorial
1. So speichern und laden Sie Modelle in Torch1. Speichern und laden Sie Modellparameter und ModellstrukturenNach dem Ändern des Modellordners in „Modelle“ wird beim erneuten Laden ein Fehler gemeldet.
torch.save(model,path) torch.load(path)
Damit Sie die vollständige Modellstruktur und die Parameter speichern, achten Sie darauf, den Pfad der Modelldefinitionsdatei nicht zu ändern.
2. Nach dem Speichern des Einzelkarten-Trainingsmodells auf einem Computer mit mehreren Karten wird beim Laden auf einem Computer mit einer Karte ein Fehler gemeldet.
Beginnend bei 0 auf einem Computer mit mehreren Karten. Jetzt wird das Modell nach dem Speichern der Grafikkarte auf n>=1 trainiert torch.save(model.state_dict(),path)
model_state_dic = torch.load(path)
model.load_state_dic(model_state_dic)
import torch from model.TextRNN import TextRNN load_model = torch.load('experiment_model_save/textRNN.bin') print('load_model',load_model)
Nach dem Training des Modells mit mehreren GPUs gleichzeitig, unabhängig davon, ob die Modellstruktur und -parameter zusammen oder das Modell gespeichert werden Die Parameter werden separat gespeichert und dann unter einer einzigen Karte. Beim Laden von
a treten Probleme auf. Speichern Sie die Modellstruktur und die Parameter zusammen und verwenden Sie dann beim Laden des
import torch from model.TextRNN import TextRNN load_model = torch.load('experiment_model_save/textRNN_cuda_1.bin') print('load_model',load_model)
load_model = torch.load('experiment_model_save/textRNN_cuda_1.bin',map_location=torch.device('cpu'))
torch.distributed.init_process_group(backend='nccl')
Die Modellstruktur vor dem Packen:
Das gepackte ModellEs gibt mehr DistributedDataParallel und Module in der äußeren Schicht, sodass es zu einer Einzelkartenumgebung kommt. Beim Laden von Modellgewichten sind die Gewichtsschlüssel inkonsistent. 3. Der richtige Weg, das Modell zu speichern und zu ladenmodel = Transformer(num_encoder_layers=6,num_decoder_layers=6) state_dict = torch.load('train_model/clip/experiment.pt') model.load_state_dict(state_dict)
【Verwandte Empfehlungen:
Python3-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonPraktische Aufzeichnungen einiger Probleme beim Speichern und Laden von Pytorch-Modellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!