ttnn.unary_chain

ttnn.unary_chain(input_tensor: ttnn.Tensor, ops_chain: list[ttnn.UnaryWithParam], *, memory_config: ttnn.MemoryConfig | None = None, output_tensor: ttnn.Tensor | None = None, queue_id: int | None = 0) ttnn.Tensor

Applies unary_chain to input_tensor element-wise.

\[\mathrm{output\_tensor}_i = \verb|unary_chain|(\mathrm{input\_tensor}_i)\]
Parameters:
  • input_tensor (ttnn.Tensor) – the input tensor.

  • ops_chain (list[ttnn.UnaryWithParam]) – list of unary ops to be chained.

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.

  • queue_id (int, optional) – command queue id. Defaults to 0.

Returns:

ttnn.Tensor – the output tensor.

Note

Supported dtypes, layouts, and ranks:

Dtypes

Layouts

Ranks

BFLOAT16, BFLOAT8_B

TILE

2, 3, 4

Example

>>> tensor = ttnn.from_torch(torch.randn([32, 32], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device)
>>> ops_chain = [ttnn.UnaryWithParam(ttnn.UnaryOpType.RELU), ttnn.UnaryWithParam(ttnn.UnaryOpType.EXP, False), ttnn.UnaryWithParam(ttnn.UnaryOpType.POWER, 2)]
>>> output = ttnn.unary_chain(tensor, ops_chain)