pytorch_pfn_extras.utils.comparer.Comparer#
- class pytorch_pfn_extras.utils.comparer.Comparer(*, trigger=None, compare_fn=<function get_default_comparer.<locals>.compare_fn>, concurrency=None, outputs=True, params=False, baseline=None)#
Bases:
object
A class for comparison of iteration outputs and model parameters.
This class is mainly used to compare results between different devices.
- Parameters:
trigger (Trigger) – Trigger object that determines when to compare values.
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
.outputs (tuple of str or bool) – A set of keys of output dict to compare.
params (tuple of str or bool) – A set of keys of model parameters to compare.
baseline (str, optional) – The baseline engine that is assumed to be correct.
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.Comparer() >>> comp.add_engine("cpu", engine_cpu, train_1, eval_1) >>> comp.add_engine("gpu", engine_gpu, train_2, eval_2) >>> comp.compare()
Methods
__init__
(*[, trigger, compare_fn, ...])A class for comparison of iteration outputs and model parameters.
add_dump
(name, dir)Add an engine to compare variables.
add_engine
(name, engine, *args, **kwargs)Add an engine to compare variables.
compare
()Compares outputs.
dump
(engine, dir, *args, **kwargs)Add an engine to compare variables.
- __init__(*, trigger=None, compare_fn=<function get_default_comparer.<locals>.compare_fn>, concurrency=None, outputs=True, params=False, baseline=None)#
A class for comparison of iteration outputs and model parameters.
This class is mainly used to compare results between different devices.
- Parameters:
trigger (Trigger) – Trigger object that determines when to compare values.
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
.outputs (tuple of str or bool) – A set of keys of output dict to compare.
params (tuple of str or bool) – A set of keys of model parameters to compare.
baseline (str, optional) – The baseline engine that is assumed to be correct.
- Return type:
None
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.Comparer() >>> comp.add_engine("cpu", engine_cpu, train_1, eval_1) >>> comp.add_engine("gpu", engine_gpu, train_2, eval_2) >>> comp.compare()
- add_dump(name, dir)#
Add an engine to compare variables.
- Parameters:
name (str) – The name of dump.
dir (str) – The directory that the results are saved to.
- Return type:
None
- add_engine(name, engine, *args, **kwargs)#
Add an engine to compare variables.
- compare()#
Compares outputs.
- Return type:
None
- dump(engine, dir, *args, **kwargs)#
Add an engine to compare variables.