mirror of
https://github.com/wassname/pytorch-lightning.git
synced 2026-09-12 12:40:20 +08:00
hparams as dict [blocked by 1041] (#1029)
* hparams as dict * hparams as dict * fixing * fixing * fixing * fixing * typing * typing * chnagelog * update set hparams * use setter * simplify * chnagelog * imports * pylint * typing * Update training_io.py * Update training_io.py * Update lightning.py * Update test_trainer.py * Update __init__.py * Update base.py * Update utils.py * Update test_trainer.py * Update training_io.py * Update test_trainer.py * Update test_trainer.py * Update test_trainer.py * Update test_trainer.py * Update callback_config.py * Update callback_config.py * Update test_trainer.py Co-authored-by: William Falcon <waf2107@columbia.edu>
This commit is contained in:
co-authored by
William Falcon
parent
6a39573267
commit
e586ed4767
@@ -4,9 +4,9 @@ import re
|
||||
import signal
|
||||
import warnings
|
||||
from abc import ABC
|
||||
from argparse import Namespace
|
||||
from subprocess import call
|
||||
from typing import Union
|
||||
from copy import deepcopy
|
||||
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
@@ -238,7 +238,9 @@ class TrainerIOMixin(ABC):
|
||||
checkpoint['state_dict'] = model.state_dict()
|
||||
|
||||
if hasattr(model, "hparams"):
|
||||
checkpoint['hparams'] = vars(model.hparams)
|
||||
is_namespace = isinstance(model.hparams, Namespace)
|
||||
checkpoint['hparams'] = vars(model.hparams) if is_namespace else model.hparams
|
||||
checkpoint['hparams_type'] = 'namespace' if is_namespace else 'dict'
|
||||
else:
|
||||
warnings.warn(
|
||||
"Did not find hyperparameters at model.hparams. Saving checkpoint without"
|
||||
@@ -322,7 +324,7 @@ class TrainerIOMixin(ABC):
|
||||
# ----------------------------------
|
||||
# PRIVATE OPS
|
||||
# ----------------------------------
|
||||
def hpc_save(self, folderpath, logger):
|
||||
def hpc_save(self, folderpath: str, logger):
|
||||
# make sure the checkpoint folder exists
|
||||
os.makedirs(folderpath, exist_ok=True)
|
||||
|
||||
@@ -333,7 +335,7 @@ class TrainerIOMixin(ABC):
|
||||
|
||||
if not os.path.exists(folderpath):
|
||||
os.makedirs(folderpath, exist_ok=True)
|
||||
filepath = '{}/hpc_ckpt_{}.ckpt'.format(folderpath, ckpt_number)
|
||||
filepath = os.path.join(folderpath, f'hpc_ckpt_{ckpt_number}.ckpt')
|
||||
|
||||
# give model a chance to do something on hpc_save
|
||||
model = self.get_model()
|
||||
|
||||
Reference in New Issue
Block a user