in ocr/utils/encoder_decoder.py [0:0]
def hybrid_forward(self, F, inputs, units=None): # pylint: disable=arguments-differ
"""
Parameters
----------
F
inputs : Symbol or NDArray
Shape (batch_size, length) or (batch_size, length, V)
units : int or None
Returns
-------
smoothed_label : Symbol or NDArray
Shape (batch_size, length, V)
"""
if self._sparse_label:
assert units is not None or self._units is not None, \
'units needs to be given in function call or ' \
'instance initialization when sparse_label is False'
if units is None:
units = self._units
inputs = F.one_hot(inputs, depth=units)
if units is None and self._units is None:
return F.Custom(inputs, epsilon=self._epsilon, axis=self._axis,
op_type='_smoothing_with_dim')
else:
if units is None:
units = self._units
return ((1 - self._epsilon) * inputs) + (self._epsilon / units)