Shortcuts

cli

Functions

instantiate_class

Instantiates a class with the given args and init.

Classes

LightningArgumentParser

Extension of jsonargparse’s ArgumentParser for pytorch-lightning

LightningCLI

Implementation of a configurable command line tool for pytorch-lightning

SaveConfigCallback

Saves a LightningCLI config to the log_dir when training starts

class pytorch_lightning.utilities.cli.LightningArgumentParser(*args, parse_as_dict=True, **kwargs)[source]

Bases: jsonargparse.

Extension of jsonargparse’s ArgumentParser for pytorch-lightning

Initialize argument parser that supports configuration file input

For full details of accepted arguments see ArgumentParser.__init__.

add_lightning_class_args(lightning_class, nested_key, subclass_mode=False)[source]

Adds arguments from a lightning class to a nested key of the parser

Parameters
Return type

List[str]

add_lr_scheduler_args(lr_scheduler_class, nested_key='lr_scheduler', link_to='AUTOMATIC')[source]

Adds arguments from a learning rate scheduler class to a nested key of the parser

Parameters
Return type

None

add_optimizer_args(optimizer_class, nested_key='optimizer', link_to='AUTOMATIC')[source]

Adds arguments from an optimizer class to a nested key of the parser

Parameters
  • optimizer_class (Union[Type[Optimizer], Tuple[Type[Optimizer], …]]) – Any subclass of torch.optim.Optimizer.

  • nested_key (str) – Name of the nested namespace to store arguments.

  • link_to (str) – Dot notation of a parser key to set arguments or AUTOMATIC.

Return type

None

class pytorch_lightning.utilities.cli.LightningCLI(model_class, datamodule_class=None, save_config_callback=<class 'pytorch_lightning.utilities.cli.SaveConfigCallback'>, save_config_filename='config.yaml', save_config_overwrite=False, trainer_class=<class 'pytorch_lightning.trainer.trainer.Trainer'>, trainer_defaults=None, seed_everything_default=None, description='pytorch-lightning trainer command line tool', env_prefix='PL', env_parse=False, parser_kwargs=None, subclass_mode_model=False, subclass_mode_data=False)[source]

Bases: object

Implementation of a configurable command line tool for pytorch-lightning

Receives as input pytorch-lightning classes (or callables which return pytorch-lightning classes), which are called / instantiated using a parsed configuration file and / or command line args and then runs trainer.fit. Parsing of configuration from environment variables can be enabled by setting env_parse=True. A full configuration yaml would be parsed from PL_CONFIG if set. Individual settings are so parsed from variables named for example PL_TRAINER__MAX_EPOCHS.

Example, first implement the trainer.py tool as:

from mymodels import MyModel
from pytorch_lightning.utilities.cli import LightningCLI
LightningCLI(MyModel)

Then in a shell, run the tool with the desired configuration:

$ python trainer.py --print_config > config.yaml
$ nano config.yaml  # modify the config as desired
$ python trainer.py --cfg config.yaml

Warning

LightningCLI is in beta and subject to change.

Parameters
add_arguments_to_parser(parser)[source]

Implement to add extra arguments to parser or link arguments

Parameters

parser (LightningArgumentParser) – The argument parser object to which arguments can be added

Return type

None

add_configure_optimizers_method_to_model()[source]

Adds to the model an automatically generated configure_optimizers method

If a single optimizer and optionally a scheduler argument groups are added to the parser as ‘AUTOMATIC’, then a configure_optimizers method is automatically implemented in the model class.

Return type

None

add_core_arguments_to_parser()[source]

Adds arguments from the core classes to the parser

Return type

None

after_fit()[source]

Implement to run some code after fit has finished

Return type

None

before_fit()[source]

Implement to run some code before fit is started

Return type

None

before_instantiate_classes()[source]

Implement to run some code before instantiating the classes

Return type

None

fit()[source]

Runs fit of the instantiated trainer class and prepared fit keyword arguments

Return type

None

init_parser()[source]

Method that instantiates the argument parser

Return type

None

instantiate_classes()[source]

Instantiates the classes using settings from self.config

Return type

None

instantiate_trainer()[source]

Instantiates the trainer using self.config_init[‘trainer’]

Return type

None

Creates argument links for optimizers and lr_schedulers that specified a link_to

Return type

None

parse_arguments()[source]

Parses command line arguments and stores it in self.config

Return type

None

prepare_fit_kwargs()[source]

Prepares fit_kwargs including datamodule using self.config_init[‘data’] if given

Return type

None

class pytorch_lightning.utilities.cli.SaveConfigCallback(parser, config, config_filename, overwrite=False)[source]

Bases: pytorch_lightning.callbacks.base.Callback

Saves a LightningCLI config to the log_dir when training starts

Raises

RuntimeError – If the config file already exists in the directory to avoid overwriting a previous run

setup(trainer, pl_module, stage=None)[source]

Called when fit, validate, test, predict, or tune begins

Return type

None

pytorch_lightning.utilities.cli.instantiate_class(args, init)[source]

Instantiates a class with the given args and init.

Parameters
  • args (Union[Any, Tuple[Any, …]]) – Positional arguments required for instantiation.

  • init (Dict[str, Any]) – Dict of the form {“class_path”:…,”init_args”:…}.

Return type

Any

Returns

The instantiated class object.

Read the Docs v: 1.4.3
Versions
latest
stable
1.4.3
1.4.2
1.4.1
1.4.0
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.10
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.10.0
0.9.0
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.5.3
0.4.9
ipynb-update
docs-search
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.