pytorch_igniter package

Submodules

pytorch_igniter.args module

pytorch_igniter.args.add_eval_args(parser, args)
pytorch_igniter.args.add_mlflow_args(parser)
pytorch_igniter.args.add_model_args(parser, args)
pytorch_igniter.args.add_train_args(parser, args)
pytorch_igniter.args.add_tran_and_eval_args(parser)
pytorch_igniter.args.eval_args(parser: argparse.ArgumentParser)
pytorch_igniter.args.fix_device(args)
pytorch_igniter.args.mlflow_args(parser, mlflow_enable=True, mlflow_tracking_uri=None, mlflow_tracking_password=None, mlflow_tracking_username=None, mlflow_tracking_secret_name=None, mlflow_tracking_secret_region=None, mlflow_tracking_secret_profile=None, mlflow_experiment_name='default', mlflow_run_name=None)
pytorch_igniter.args.model_args(parser, device=None)
pytorch_igniter.args.parser_for_docs()
pytorch_igniter.args.train_and_eval_args(parser: argparse.ArgumentParser, eval_event='EPOCH_COMPLETED')
pytorch_igniter.args.train_args(parser, max_epochs=10, n_saved=10, save_event='EPOCH_COMPLETED')
pytorch_igniter.args.train_kwargs(args)

pytorch_igniter.commands module

class pytorch_igniter.commands.EvalCommand(igniter_config: pytorch_igniter.config.IgniterConfig, script, cmd='eval', **kwargs)

Bases: aws_sagemaker_remote.training.main.TrainingCommand

argparse_callback(parser)
runner(args)
class pytorch_igniter.commands.TrainAndEvalCommand(igniter_config: pytorch_igniter.config.IgniterConfig, script, cmd='train-and-eval', **kwargs)

Bases: aws_sagemaker_remote.training.main.TrainingCommand

argparse_callback(parser)
runner(args)
class pytorch_igniter.commands.TrainCommand(igniter_config: pytorch_igniter.config.IgniterConfig, script, cmd='train', **kwargs)

Bases: aws_sagemaker_remote.training.main.TrainingCommand

argparse_callback(parser)
runner(args)

pytorch_igniter.config module

class pytorch_igniter.config.IgniterConfig(model_args=None, train_args=None, eval_args=None, description=None, train_inputs=None, eval_inputs=None, make_model=None, make_evaluator=None, make_trainer=None, inference_spec=None, **igniter_args)

Bases: object

pytorch_igniter.engine module

pytorch_igniter.engine.build_engine(spec: pytorch_igniter.spec.RunSpec, output_dir=None, trainer=None, metric_cls=<class 'ignite.metrics.running_average.RunningAverage'>, tag='', mlflow_logger=None, is_training=None, device=None)

pytorch_igniter.evaluator module

pytorch_igniter.evaluator.dummy_step(engine, batch)
pytorch_igniter.evaluator.evaluate(eval_spec: pytorch_igniter.spec.RunSpec, output_dir=None, model_dir=None, to_load=None, tag='eval', mlflow_enable=True, mlflow_tracking_uri=None, trainer=None)

pytorch_igniter.experiment_cli module

pytorch_igniter.experiment_cli.experiment_cli(script, config: pytorch_igniter.config.IgniterConfig, extra_commands=None, description=None, dry_run=False, **kwargs)
pytorch_igniter.experiment_cli.experiment_cli_commands(script, config: pytorch_igniter.config.IgniterConfig, extra_commands=None, **kwargs)

pytorch_igniter.hooks module

class pytorch_igniter.hooks.ConcatenateOutputsHook(tracked_outputs, axis=-1)

Bases: object

attach(engine: ignite.engine.engine.Engine, start_event=<Events.ITERATION_COMPLETED: 'iteration_completed'>, iteration_event=<Events.ITERATION_COMPLETED: 'iteration_completed'>)
clear(engine)
collect(engine)
concatenate()

pytorch_igniter.main module

pytorch_igniter.main.igniter_main(main, training_args=None, **sagemaker_args)

Run a training script

Parameters:
  • main (function) – Main function. Must have one argument parser:argparse.Namespace.
  • training_args (dict) – Keyword arguments to pytorch_igniter.args.train_args().
  • sagemaker_args (dict) – Keyword arguments to aws-sagemaker-remote.training.main.sagemaker_training_main. See aws_sagemaker_remote.

pytorch_igniter.metrics module

class pytorch_igniter.metrics.SafeAverage(output_transform: Callable = <function Average.<lambda>>, device: Union[str, torch.device, None] = None)

Bases: ignite.metrics.accumulation.Average

compute() → Union[Any, torch.Tensor, numbers.Number]

Computes the metric based on it’s accumulated state.

By default, this is called at the end of each epoch.

Returns:
the actual quantity of interest. However, if a Mapping is returned, it will be (shallow) flattened into engine.state.metrics when completed() is called.
Return type:Any
Raises:NotComputableError – raised when the metric cannot be computed.

pytorch_igniter.mlflow_ctx module

class pytorch_igniter.mlflow_ctx.NullContext

Bases: object

pytorch_igniter.mlflow_ctx.get_mlflow_logger(output_dir=None, checkpoint_dir=None, mlflow_enable=True)
pytorch_igniter.mlflow_ctx.mlflow_ctx(checkpoint_dir=None, output_dir=None, run_id=None, mlflow_enable=True, allow_new=True, experiment_name=None, run_name=None, parameters=None, is_sagemaker=None, sagemaker_job_name=None)

pytorch_igniter.spec module

class pytorch_igniter.spec.InferenceSpec(inferencer, requirements=None, dependencies=None, input_fn=None, output_fn=None)

Bases: object

class pytorch_igniter.spec.RunSpec(loader, step, metrics, max_epochs=1, epoch_length=None, callback=None, enable_pbar=True, pbar_metrics='all', print_event='default', print_metrics='all', print_fmt='default', print_metric_fmt=' | {name}: {value}', log_event='default', log_metrics='all', plot_event='default', plot_metrics='all', enable_timer=True)

Bases: object

classmethod eval_spec(loader, model, criteria, preproc=None, **kwargs)
set_defaults(is_training=True)

Fill in the default events for training or evaluation specs

classmethod train_spec(loader, model, criteria, optimizer, preproc=None, **kwargs)

pytorch_igniter.ssm module

pytorch_igniter.ssm.get_secret(profile_name='default', secret_name='mlflow-secret', region_name=None)

pytorch_igniter.trainer module

pytorch_igniter.trainer.train(to_save, model, train_spec: pytorch_igniter.spec.RunSpec, eval_spec: pytorch_igniter.spec.RunSpec = None, eval_event=<Events.EPOCH_COMPLETED: 'epoch_completed'>, save_event=<Events.EPOCH_COMPLETED: 'epoch_completed'>, n_saved=10, mlflow_enable=True, mlflow_tracking_uri=None, mlflow_tracking_username=None, mlflow_tracking_password=None, mlflow_tracking_secret_name=None, mlflow_tracking_secret_profile=None, mlflow_tracking_secret_region=None, mlflow_experiment_name=None, mlflow_run_name=None, model_dir='output', checkpoint_dir='output', output_dir='output', parameters=None, device=None, max_epochs=None, is_sagemaker=False, sagemaker_job_name=None, inference_spec=None, inference_args=None, eval_pbar=None, train_pbar=None, train_print_event=None, eval_print_event=None, eval_log_event=None, train_log_event=None)

Train a model

pytorch_igniter.util module

class pytorch_igniter.util.StateDictStorage

Bases: torch.nn.modules.module.Module

load_state_dict(state_dict, strict=True)

Copies parameters and buffers from state_dict into this module and its descendants. If strict is True, then the keys of state_dict must exactly match the keys returned by this module’s state_dict() function.

Parameters:
  • state_dict (dict) – a dict containing parameters and persistent buffers.
  • strict (bool, optional) – whether to strictly enforce that the keys in state_dict match the keys returned by this module’s state_dict() function. Default: True
Returns:

  • missing_keys is a list of str containing the missing keys
  • unexpected_keys is a list of str containing the unexpected keys

Return type:

NamedTuple with missing_keys and unexpected_keys fields

state_dict()

Returns a dictionary containing a whole state of the module.

Both parameters and persistent buffers (e.g. running averages) are included. Keys are corresponding parameter and buffer names.

Returns:a dictionary containing a whole state of the module
Return type:dict

Example:

>>> module.state_dict().keys()
['bias', 'weight']
pytorch_igniter.util.apply_to_tensors(tensors, fn)
pytorch_igniter.util.auto_metric(value, cls=<class 'ignite.metrics.running_average.RunningAverage'>)
pytorch_igniter.util.capture_signals(signals=None, callback=None, die=False, **kwargs)
pytorch_igniter.util.chain_callbacks(callbacks=None, **kwargs)
pytorch_igniter.util.create_plots(engine, logs_fname, plots_fname, metric_names='all')
pytorch_igniter.util.find_last_checkpoint(output_dir)
pytorch_igniter.util.get_last_checkpoint(checkpoint_handler: ignite.handlers.checkpoint.ModelCheckpoint)
pytorch_igniter.util.get_mean_value(key)
pytorch_igniter.util.get_metrics(engine, metric_names='all')
pytorch_igniter.util.get_value(key)
pytorch_igniter.util.handle_exception(engine, e, callback=None, **kwargs)
pytorch_igniter.util.image_saver(engine, output_path, fn)
pytorch_igniter.util.image_saver_callback(output_path, images)

Add a callback to save images

pytorch_igniter.util.kill_signals()
pytorch_igniter.util.load_from(model_dir, to_load)
pytorch_igniter.util.print_logs(engine, trainer=None, fmt='[{epoch}/{max_epochs}][{i}/{max_i}]', metric_fmt=' | {name}: {value}', metric_names='all')
pytorch_igniter.util.save_logs(engine, fname, trainer=None, metric_names='all')
pytorch_igniter.util.tensors_to_device(device)
pytorch_igniter.util.tensors_to_items(tensors)
pytorch_igniter.util.tensors_to_numpy(tensors)
pytorch_igniter.util.timer_metric(engine, name='timer')

Module contents