chainer.report¶
- 
chainer.report(values, observer=None)[source]¶
- Reports observed values with the current reporter object. - Any reporter object can be set current by the - withstatement. This function calls the- Reporter.report()method of the current reporter. If no reporter object is current, this function does nothing.- Example - The most typical example is a use within links and chains. Suppose that a link is registered to the current reporter as an observer (for example, the target link of the optimizer is automatically registered to the reporter of the - Trainer). We can report some values from the link as follows:- class MyRegressor(chainer.Chain): def __init__(self, predictor): super(MyRegressor, self).__init__(predictor=predictor) def __call__(self, x, y): # This chain just computes the mean absolute and squared # errors between the prediction and y. pred = self.predictor(x) abs_error = F.sum(abs(pred - y)) / len(x) loss = F.mean_squared_error(pred, y) # Report the mean absolute and squared errors. chainer.report({ 'abs_error': abs_error, 'squared_error': loss, }, self) return loss - If the link is named - 'main'in the hierarchy (which is the default name of the target link in the- StandardUpdater), these reported values are named- 'main/abs_error'and- 'main/squared_error'. If these values are reported inside the- Evaluatorextension,- 'validation/'is added at the head of the link name, thus the item names are changed to- 'validation/main/abs_error'and- 'validation/main/squared_error'(- 'validation'is the default name of the Evaluator extension).- Parameters
- values (dict) – Dictionary of observed values. 
- observer – Observer object. Its object ID is used to retrieve the observer name, which is used as the prefix of the registration name of the observed value.