ttnn.hardmish
- ttnn.hardmish(input_tensor: ttnn.Tensor, *, memory_config: ttnn.MemoryConfig = None, output_tensor: ttnn.Tensor = None, sub_core_grids: ttnn.CoreRangeSet = None) ttnn.Tensor
-
Applies hardmish to
input_tensorelement-wise.\[\mathrm{{output\_tensor}}_i = \mathrm{{input\_tensor}}_i \times \frac{{\min(\max(\mathrm{{input\_tensor}}_i + 2, 0), 2)}}{{2}}\]- Parameters:
-
input_tensor (ttnn.Tensor) – the input tensor. [Supports finite inputs; for non-finite values, -inf yields NaN due to the formula’s -inf * 0 term.]
- Keyword Arguments:
-
memory_config (ttnn.MemoryConfig, optional) – memory configuration for the operation. Defaults to None.
output_tensor (ttnn.Tensor, optional) – preallocated output tensor. Defaults to None.
sub_core_grids (ttnn.CoreRangeSet, optional) – sub core grids for the operation. Defaults to None.
- Returns:
-
ttnn.Tensor – the output tensor.
Note
Supported dtypes and layouts:
Dtypes
Layouts
BFLOAT16, BFLOAT8_B, FLOAT32
TILE, ROW_MAJOR
Computes the Hard Mish activation function. Hard Mish is a computationally efficient approximation of the Mish activation function.
Example
# Create a tensor with specific values tensor = ttnn.from_torch( torch.tensor([[-2.0, -1.0], [1.0, 2.0]], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device ) # Apply Hard Mish activation function output = ttnn.hardmish(tensor) logger.info(f"Hard Mish: {output}")