Minor imports cleaning (#402)

* code cleaning

* drop unused imports

* optimize imports
This commit is contained in:
Jirka Borovec
2019-10-22 11:32:40 +03:00
committed by William Falcon
parent e6e325c853
commit f18aee30a5
32 changed files with 94 additions and 134 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
from .trainer.trainer import Trainer
from .root_module.root_module import LightningModule
from .root_module.decorators import data_loader
from .root_module.root_module import LightningModule
from .trainer.trainer import Trainer
__all__ = [
'Trainer',
+1 -1
View File
@@ -1,6 +1,5 @@
import os
import shutil
import warnings
import numpy as np
@@ -260,6 +259,7 @@ class GradientAccumulationScheduler(Callback):
# Arguments
scheduling: dict, scheduling in format {epoch: accumulation_factor}
"""
def __init__(self, scheduling: dict):
if scheduling == {}: # empty dict error
raise TypeError("Empty dict cannot be interpreted correct")
+2 -2
View File
@@ -1,7 +1,7 @@
from time import time
from logging import getLogger
from os import environ
from comet_ml import Experiment as CometExperiment
from .base import LightningLoggerBase, rank_zero_only
# needed to prevent ImportError and duplicated logs.
+1 -1
View File
@@ -1,5 +1,5 @@
from time import time
from logging import getLogger
from time import time
import mlflow
@@ -1,16 +1,13 @@
import os.path
from copy import copy
from test_tube import Experiment
from .base import LightningLoggerBase, rank_zero_only
from test_tube import Experiment
class TestTubeLogger(LightningLoggerBase):
__test__ = False
def __init__(
self, save_dir, name="default", description=None, debug=False,
self, save_dir, name="default", description=None, debug=False,
version=None, create_git_tag=False
):
super().__init__()
@@ -1,11 +1,11 @@
from torch.nn import DataParallel
from torch.nn.parallel import DistributedDataParallel
import itertools
import threading
from itertools import chain
import threading
import torch
from torch.cuda._utils import _get_device_index
from torch.nn import DataParallel
from torch.nn.parallel import DistributedDataParallel
def _find_tensors(obj): # pragma: no cover
+3 -3
View File
@@ -17,9 +17,9 @@ def data_loader(fn):
try:
value = fn(self) # Lazy evaluation, done only once.
if (
value is not None and
not isinstance(value, list) and
fn.__name__ in['test_dataloader', 'val_dataloader']
value is not None and
not isinstance(value, list) and
fn.__name__ in ['test_dataloader', 'val_dataloader']
):
value = [value]
except AttributeError as e:
+2 -3
View File
@@ -3,11 +3,11 @@ Generates a summary of a model's layers and dimensionality
'''
import gc
import torch
import subprocess
import numpy as np
import pandas as pd
import torch
class ModelSummary(object):
@@ -146,7 +146,6 @@ class ModelSummary(object):
df['Params'] = df['Params'].map(get_human_readable_count)
if self.model.example_input_array is not None:
df['In_sizes'] = self.in_sizes
df['Out_sizes'] = self.out_sizes
+7 -7
View File
@@ -1,13 +1,13 @@
import warnings
import torch
from pytorch_lightning.root_module.memory import ModelSummary
from pytorch_lightning.root_module.grads import GradInformation
from pytorch_lightning.trainer.trainer_io import load_hparams_from_tags_csv
from pytorch_lightning.root_module.model_saving import ModelIO
from pytorch_lightning.root_module.hooks import ModelHooks
from pytorch_lightning.root_module.decorators import data_loader
import warnings
from pytorch_lightning.root_module.grads import GradInformation
from pytorch_lightning.root_module.hooks import ModelHooks
from pytorch_lightning.root_module.memory import ModelSummary
from pytorch_lightning.root_module.model_saving import ModelIO
from pytorch_lightning.trainer.trainer_io import load_hparams_from_tags_csv
class LightningModule(GradInformation, ModelIO, ModelHooks):
@@ -1,18 +1,4 @@
import os
from collections import OrderedDict
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch import optim
from torch.utils.data import DataLoader
from torch.utils.data.distributed import DistributedSampler
from torchvision.datasets import MNIST
from torchvision import transforms
from test_tube import HyperOptArgumentParser
from pytorch_lightning.root_module.root_module import LightningModule
from pytorch_lightning import data_loader
from .lm_test_module_base import LightningTestModelBase
from .lm_test_module_mixins import LightningValidationMixin, LightningTestMixin
@@ -4,15 +4,15 @@ from collections import OrderedDict
import torch
import torch.nn as nn
import torch.nn.functional as F
from test_tube import HyperOptArgumentParser
from torch import optim
from torch.utils.data import DataLoader
from torch.utils.data.distributed import DistributedSampler
from torchvision.datasets import MNIST
from torchvision import transforms
from test_tube import HyperOptArgumentParser
from torchvision.datasets import MNIST
from pytorch_lightning.root_module.root_module import LightningModule
from pytorch_lightning import data_loader
from pytorch_lightning.root_module.root_module import LightningModule
class LightningTestModelBase(LightningModule):
@@ -1,17 +1,7 @@
import os
from collections import OrderedDict
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch import optim
from torch.utils.data import DataLoader
from torch.utils.data.distributed import DistributedSampler
from torchvision.datasets import MNIST
from torchvision import transforms
from test_tube import HyperOptArgumentParser
from pytorch_lightning.root_module.root_module import LightningModule
from pytorch_lightning import data_loader
+1
View File
@@ -1,5 +1,6 @@
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
@@ -1,13 +1,14 @@
import warnings
from torch.utils.data.distributed import DistributedSampler
import torch.distributed as dist
from torch.utils.data import IterableDataset
from torch.utils.data.distributed import DistributedSampler
from pytorch_lightning.utilities.debugging import MisconfigurationException
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
+2 -1
View File
@@ -4,12 +4,13 @@ import warnings
import torch
import torch.distributed as dist
from pytorch_lightning.pt_overrides.override_data_parallel import LightningDistributedDataParallel
from pytorch_lightning.utilities.debugging import MisconfigurationException
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
+2 -7
View File
@@ -1,17 +1,12 @@
import os
import re
import signal
import pdb
from subprocess import call
import torch
import torch.distributed as dist
from pytorch_lightning.pt_overrides.override_data_parallel import (
LightningDistributedDataParallel, LightningDataParallel)
from pytorch_lightning.utilities.debugging import MisconfigurationException
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
@@ -1,4 +1,5 @@
import torch
from pytorch_lightning.utilities.debugging import MisconfigurationException
@@ -1,4 +1,5 @@
import torch
from pytorch_lightning.root_module import memory
@@ -2,6 +2,7 @@ import numpy as np
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
@@ -112,7 +113,6 @@ class TrainerTrainLoopMixin(object):
# when metrics should be logged
should_log_metrics = batch_nb % self.row_log_interval == 0 or early_stop_epoch
if should_log_metrics or self.fast_dev_run:
# logs user requested information to logger
self.log_metrics(batch_step_metrics, grad_norm_dic)
+10 -11
View File
@@ -5,29 +5,28 @@ The trainer handles all the logic for running a val loop, training loop, distrib
import os
import warnings
import tqdm
import torch
import torch.multiprocessing as mp
import torch.distributed as dist
import torch.multiprocessing as mp
import tqdm
from torch.optim.optimizer import Optimizer
from pytorch_lightning.trainer.trainer_io import TrainerIOMixin
from pytorch_lightning.trainer.amp_mixin import TrainerAMPMixin
from pytorch_lightning.trainer.callback_config_mixin import TrainerCallbackConfigMixin
from pytorch_lightning.trainer.data_loading_mixin import TrainerDataLoadingMixin
from pytorch_lightning.trainer.ddp_mixin import TrainerDDPMixin
from pytorch_lightning.trainer.dp_mixin import TrainerDPMixin
from pytorch_lightning.trainer.amp_mixin import TrainerAMPMixin
from pytorch_lightning.trainer.data_loading_mixin import TrainerDataLoadingMixin
from pytorch_lightning.trainer.evaluation_loop_mixin import TrainerEvaluationLoopMixin
from pytorch_lightning.trainer.train_loop_mixin import TrainerTrainLoopMixin
from pytorch_lightning.trainer.logging_mixin import TrainerLoggingMixin
from pytorch_lightning.trainer.training_tricks_mixin import TrainerTrainingTricksMixin
from pytorch_lightning.trainer.callback_config_mixin import TrainerCallbackConfigMixin
from pytorch_lightning.trainer.model_hooks_mixin import TrainerModelHooksMixin
from pytorch_lightning.trainer.train_loop_mixin import TrainerTrainLoopMixin
from pytorch_lightning.trainer.trainer_io import TrainerIOMixin
from pytorch_lightning.trainer.training_tricks_mixin import TrainerTrainingTricksMixin
from pytorch_lightning.utilities.debugging import MisconfigurationException
import pdb
try:
from apex import amp
APEX_AVAILABLE = True
except ImportError:
APEX_AVAILABLE = False
@@ -332,7 +331,7 @@ class Trainer(TrainerIOMixin,
task = int(os.environ['SLURM_LOCALID'])
self.ddp_train(task, model)
else:
mp.spawn(self.ddp_train, nprocs=self.num_gpus, args=(model, ))
mp.spawn(self.ddp_train, nprocs=self.num_gpus, args=(model,))
# 1 gpu or dp option triggers training using DP module
# easier to avoid NCCL issues
+1 -1
View File
@@ -1,11 +1,11 @@
import os
import re
import signal
import pdb
from subprocess import call
import torch
import torch.distributed as dist
from pytorch_lightning.pt_overrides.override_data_parallel import (
LightningDistributedDataParallel, LightningDataParallel)
-1
View File
@@ -7,7 +7,6 @@ import os
def add_default_args(parser, root_dir, rand_seed=None, possible_model_names=None):
# training, test, val check intervals
parser.add_argument('--eval_test_set', dest='eval_test_set', action='store_true',
help='true = run test set also')