- ignite.engine.create_supervised_evaluator(model, metrics=None, device=None, non_blocking=False, prepare_batch=<function _prepare_batch>, model_transform=<function <lambda>>, output_transform=<function <lambda>>, amp_mode=None)#
Factory function for creating an evaluator for supervised models.
model (torch.nn.modules.module.Module) – the model to train.
non_blocking (bool) – if True and this copy is between CPU and GPU, the copy may occur asynchronously with respect to the host. For other cases, this argument has no effect.
prepare_batch (Callable) – function that receives batch, device, non_blocking and outputs tuple of tensors (batch_x, batch_y).
model_transform (Callable[[Any], Any]) – function that receives the output from the model and convert it into the predictions:
y_pred = model_transform(model(x)).
output_transform (Callable[[Any, Any, Any], Any]) – function that receives ‘x’, ‘y’, ‘y_pred’ and returns value to be assigned to engine’s state.output after each iteration. Default is returning (y_pred, y,) which fits output expected by metrics. If you change it you should use output_transform in metrics.
an evaluator engine with supervised inference function.
- Return type
engine.state.output for this engine is defined by output_transform parameter and is a tuple of (batch_pred, batch_y) by default.
The internal use of device has changed. device will now only be used to move the input data to the correct device. The model should be moved by the user before creating an optimizer.
For more information see:
Changed in version 0.4.5: Added
amp_modeargument for automatic mixed precision.
Changed in version 0.4.12: Added
model_transformto transform model’s output