deepdisc.training.trainers

Classes

LazyAstroTrainer

LazyAstroEvaluator

Functions

return_lazy_trainer(model, loader, optimizer, cfg, ...)

Return a trainer for models built on LazyConfigs

return_savehook(output_name, save_period)

Returns a hook for saving the model

return_schedulerhook(optimizer)

Returns a hook for the learning rate

return_evallosshook(val_per, model, test_loader)

Returns a hook for evaulating the loss

return_optimizer(cfg)

Returns an optimizer for training

Module Contents

class LazyAstroTrainer(model, data_loader, optimizer, cfg)[source]

Bases: detectron2.engine.SimpleTrainer

checkpointer[source]
lossList = [][source]
lossdict_epochs[source]
vallossList = [][source]
vallossdict_epochs[source]
period = 20[source]
iterCount = 0[source]
scheduler[source]
valloss = 0[source]
vallossdict[source]
set_period(p)[source]
run_step()[source]
classmethod build_lr_scheduler(cfg, optimizer)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

add_val_loss(val_loss)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

add_val_loss_dict(val_loss_dict)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

class LazyAstroEvaluator(model, data_loader, optimizer, cfg)[source]

Bases: detectron2.engine.SimpleTrainer

checkpointer[source]
lossList = [][source]
lossdict_epochs[source]
vallossList = [][source]
vallossdict_epochs[source]
period = 20[source]
iterCount = 0[source]
scheduler[source]
valloss = 0[source]
vallossdict[source]
set_period(p)[source]
run_step()[source]
classmethod build_lr_scheduler(cfg, optimizer)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

add_val_loss(val_loss)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

add_val_loss_dict(val_loss_dict)[source]

It now calls detectron2.solver.build_lr_scheduler(). Overwrite it if you’d like a different scheduler.

return_lazy_trainer(model, loader, optimizer, cfg, hooklist)[source]

Return a trainer for models built on LazyConfigs

Parameters:
  • model (torch model) – pointer to file

  • loader (detectron2 data loader)

  • optimizer (detectron2 optimizer)

  • cfg (.py file) – The LazyConfig used to build the model, and also stores config vals for data loaders

  • hooklist (list) – The list of hooks to use for the trainer

Return type:

trainer

return_savehook(output_name, save_period)[source]

Returns a hook for saving the model

Parameters:

output_name (str) – name of output file to save

Return type:

a SaveHook

return_schedulerhook(optimizer)[source]

Returns a hook for the learning rate

Parameters:

optimizer (detectron2 optimizer) – the optimizer that controls the learning rate

Return type:

a CustomLRScheduler hook

return_evallosshook(val_per, model, test_loader)[source]

Returns a hook for evaulating the loss

Parameters:
  • val_per (int) – the frequency with which to calculate validation loss

  • model (torch.nn.module) – the model

  • test_loader (data loader) – the loader to read in the eval data

Return type:

a LossEvalHook

return_optimizer(cfg)[source]

Returns an optimizer for training

Parameters:

cfg (.py file) – The LazyConfig used to build the model

Return type:

a pytorch optimizer