Part 8 - Saving and Loading Models
Pichle section mein, humne safaltapoorvak ek model train kiya. Chaliye ab dekhte hain ki hum ek trained model ko baad me reuse karne ke liye kaise save kar sakte hain.
Model ko Save Karna
PyTorch mein models ko save karne ka recommended tareeka yahan diya gaya hai:
import torch
# Maan lijiye ki 'model' ek trained model object hai
torch.save(model.state_dict(), "model.pth")
Model ka `state_dict` ek Python dictionary object hai jo model ki har layer ko uske trainable parameters (weights aur biases) se map karta hai. Yahan `"model.pth"` ek file ka naam hai. Aap koi bhi naam aur file extension de sakte hain, lekin `.pth` aur `.pt` sabse common conventions hain.
Model ko Load Karna
Ek baar model save ho jaane ke baad, hum use disk se is tarah restore kar sakte hain:
# Maan lijiye ki 'NeuralNetwork' class defined hai
model_new = NeuralNetwork(2, 2) # Architecture original model se bilkul match karna chahiye
model_new.load_state_dict(torch.load("model.pth"))
model_new.eval() # Model ko evaluation mode me set karein
Output (agar sab theek raha):
<All keys matched successfully>
`torch.load("model.pth")` function file ko padhta hai aur model ke parameters wali dictionary ko reconstruct karta hai. Phir `model.load_state_dict()` in parameters ko naye model instance par apply karta hai, jisse model ki learned state restore ho jaati hai.
Zaroori Note: Model load karne se pehle, aapko same architecture ka ek naya model instance banana hoga. Yahan, `NeuralNetwork(2, 2)` ka architecture save kiye gaye model se bilkul match karna chahiye.
Aakhri section mein hum dekhenge ki PyTorch models ko ek ya ek se zyada GPUs (agar available ho) ka use karke tezi se kaise train kiya jaata hai.