Il modo migliore per salvare un modello addestrato in PyTorch?

| |

Stavo cercando modi alternativi per salvare un modello addestrato in PyTorch. Finora ho trovato due alternative.

  1. torch.save() per salvare un modello e torch.load() per caricare un modello.
  2. model.state_dict() per salvare un modello addestrato e model.load_state_dict() per caricare il modello salvato.

Mi sono imbattuto in questa discussione in cui l'approccio 2 è consigliato rispetto all'approccio 1.

La mia domanda è: perché si preferisce il secondo approccio? È solo perché i moduli torch.nn hanno queste due funzioni e siamo incoraggiati a usarle?