ttnn.tanh

ttnn.tanh(input_tensor: ttnn.Tensor, *, memory_config: ttnn.MemoryConfig = None, output_tensor: ttnn.Tensor = None, fast_and_approximate_mode: Boolean = False) ttnn.Tensor

Applies tanh to input_tensor element-wise.

\[\mathrm{output\_tensor}_i = tanh(\mathrm{input\_tensor}_i)\]
Parameters:

input_tensor (ttnn.Tensor) – the input tensor.

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.

  • fast_and_approximate_mode (Boolean, optional) – Enables a performance-optimized approximation method. When True, the operation runs faster but may produce results with minor precision differences. Defaults to False.

Returns:

ttnn.Tensor – the output tensor.

Note

Supported dtypes, layouts, and ranks:

Dtypes

Layouts

Ranks

BFLOAT16, BFLOAT8_B, FLOAT32

TILE

2, 3, 4

BFLOAT8_B/BFLOAT4_B is supported only for approx=True mode.

Example

# Create a tensor with specific values
tensor = ttnn.from_torch(
    torch.tensor([[1, 2], [3, 4]], dtype=torch.bfloat16),
    dtype=ttnn.bfloat16,
    layout=ttnn.TILE_LAYOUT,
    device=device,
)

# Compute the hyperbolic tangent
output = ttnn.tanh(tensor, fast_and_approximate_mode=False)
logger.info(f"Hyperbolic tangent: {output}")