fixed lightning import

This commit is contained in:
William Falcon
2020-01-16 14:51:54 -05:00
parent 6a414195fd
commit 36da61eb01
4 changed files with 33 additions and 36 deletions
+1 -2
View File
@@ -152,7 +152,6 @@ Test
#
# """
from .test_b import TestB
from .lightning import LightningModule
__all__ = ['TestB']
__all__ = ['LightningModule']
+30 -1
View File
@@ -4,6 +4,7 @@ import os
import warnings
import collections
import logging
import pandas as pd
from abc import ABC, abstractmethod
from argparse import Namespace
@@ -15,7 +16,6 @@ from pytorch_lightning.core.grads import GradInformation
from pytorch_lightning.core.hooks import ModelHooks
from pytorch_lightning.core.saving import ModelIO
from pytorch_lightning.core.memory import ModelSummary
from pytorch_lightning.trainer.training_io import load_hparams_from_tags_csv
from pytorch_lightning.overrides.data_parallel import LightningDistributedDataParallel
@@ -1095,3 +1095,32 @@ class LightningModule(ABC, GradInformation, ModelIO, ModelHooks):
"""
pass
def load_hparams_from_tags_csv(tags_csv):
if not os.path.isfile(tags_csv):
logging.warning(f'Missing Tags: {tags_csv}.')
return Namespace()
tags_df = pd.read_csv(tags_csv)
dic = tags_df.to_dict(orient='records')
ns_dict = {row['key']: convert(row['value']) for row in dic}
ns = Namespace(**ns_dict)
return ns
def convert(val):
constructors = [int, float, str]
if type(val) is str:
if val.lower() == 'true':
return True
if val.lower() == 'false':
return False
for c in constructors:
try:
return c(val)
except ValueError:
pass
return val
-31
View File
@@ -96,9 +96,7 @@ import warnings
from subprocess import call
import logging
from abc import ABC
from argparse import Namespace
import pandas as pd
import torch
import torch.distributed as dist
@@ -459,32 +457,3 @@ class TrainerIOMixin(ABC):
ckpt_vs.append(int(name))
return max(ckpt_vs)
def load_hparams_from_tags_csv(tags_csv):
if not os.path.isfile(tags_csv):
logging.warning(f'Missing Tags: {tags_csv}.')
return Namespace()
tags_df = pd.read_csv(tags_csv)
dic = tags_df.to_dict(orient='records')
ns_dict = {row['key']: convert(row['value']) for row in dic}
ns = Namespace(**ns_dict)
return ns
def convert(val):
constructors = [int, float, str]
if type(val) is str:
if val.lower() == 'true':
return True
if val.lower() == 'false':
return False
for c in constructors:
try:
return c(val)
except ValueError:
pass
return val
+2 -2
View File
@@ -15,7 +15,7 @@ from pytorch_lightning.testing import (
LightningValidationMultipleDataloadersMixin,
LightningTestMultipleDataloadersMixin,
)
from pytorch_lightning.trainer import training_io
from pytorch_lightning.core.lightning import load_hparams_from_tags_csv
from pytorch_lightning.trainer.logging import TrainerLoggingMixin
@@ -186,7 +186,7 @@ def test_loading_meta_tags(tmpdir):
# load tags
path_expt_dir = tutils.get_data_path(logger, path_dir=tmpdir)
tags_path = os.path.join(path_expt_dir, 'meta_tags.csv')
tags = training_io.load_hparams_from_tags_csv(tags_path)
tags = load_hparams_from_tags_csv(tags_path)
assert tags.batch_size == 32 and tags.hidden_dim == 1000