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:
Jirka BorovecandWilliam Falcon authored and GitHub committed 2020-03-04 09:33:39 -05:00
1 parent 6a39573267
commit e586ed4767
18 files changed
+168 -87

No files matched your search

+6 -4
View File
@@ -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()