pytorch_pfn_extras.utils.comparer.ModelComparer#
- class pytorch_pfn_extras.utils.comparer.ModelComparer(engines, to_compare_keys=None, *, compare_fn=<function get_default_comparer.<locals>.compare_fn>, concurrency=None)#
Bases:
_ComparerBase
A class for comparison of iteration model parameters.
This class is mainly used to compare results between different devices.
- Parameters:
engines (dict of Engines) – Trainers or Evaluators to compare outputs.
to_compare_keys (tuple of str, optional) – A set of keys of model parameters to compare.
compare_fn (function) – Comparison function. Default is
get_default_comparer()
.concurrency (int, optional) – The upper bound limit on the number of workers that run concurrently. If
None
, inferred from the size ofengines
.
Examples
>>> trainer_cpu = ppe.engine.create_trainer( model, optimizer, 1, device='cpu') >>> trainer_gpu = ppe.engine.create_trainer( model, optimizer, 1, device='cuda:0') >>> comp = ppe.utils.comparer.ModelComparer( {"cpu": trainer_cpu, "gpu": trainer_gpu}) >>> comp.compare({"cpu": loader, "gpu": loader}])
Methods
__init__
(engines[, to_compare_keys, ...])A class for comparison of iteration model parameters.
compare
(loaders[, n_iters])Compares outputs.
compare_targets
(name, engine, batch_idx, target)run_engine
(engine, loaders)- __init__(engines, to_compare_keys=None, *, compare_fn=<function get_default_comparer.<locals>.compare_fn>, concurrency=None)#
A class for comparison of iteration model parameters.
This class is mainly used to compare results between different devices.
- Parameters:
engines (dict of Engines) – Trainers or Evaluators to compare outputs.
to_compare_keys (tuple of str, optional) – A set of keys of model parameters to compare.
compare_fn (function) – Comparison function. Default is
get_default_comparer()
.concurrency (int, optional) – The upper bound limit on the number of workers that run concurrently. If
None
, inferred from the size ofengines
.
Examples
>>> trainer_cpu = ppe.engine.create_trainer( model, optimizer, 1, device='cpu') >>> trainer_gpu = ppe.engine.create_trainer( model, optimizer, 1, device='cuda:0') >>> comp = ppe.utils.comparer.ModelComparer( {"cpu": trainer_cpu, "gpu": trainer_gpu}) >>> comp.compare({"cpu": loader, "gpu": loader}])