ttnn.upsample

ttnn.upsample = FastOperation(python_fully_qualified_name='ttnn.upsample', function=<ttnn._ttnn.operations.pool.upsample_t object>, preprocess_golden_function_inputs=<function default_preprocess_golden_function_inputs>, golden_function=<function golden_upsample>, postprocess_golden_function_outputs=<function default_postprocess_golden_function_outputs>, is_cpp_operation=True, is_experimental=False)

Upsamples a given multi-channel 2D (spatial) data. The input data is assumed to be of the form [N, H, W, C].

Supports both integer and floating-point scale factors with automatic routing to optimized implementations: - Integer scales: Optimized path with reader/writer replication (fastest) - Float scales: General path with coordinate mapping (supports fractional scales)

The algorithms available for upsampling are ‘nearest’ and ‘bilinear’. Note: ‘bilinear’ mode requires integer scale factors.

Parameters:
  • input_tensor (ttnn.Tensor) – the input tensor.

  • scale_factor (int, float, [int, int], or [float, float]) – multiplier for spatial size. - int: uniform integer scale for both H and W - float: uniform float scale for both H and W - [int, int]: separate integer scales for [H, W] - [float, float]: separate float scales for [H, W]

Keyword Arguments:
  • mode (str, optional) – upsampling mode - ‘nearest’ or ‘bilinear’. Defaults to ‘nearest’.

  • memory_config (ttnn.MemoryConfig, optional) – Memory configuration for the operation. Defaults to None.

  • compute_kernel_config (ttnn.DeviceComputeKernelConfig, optional) – Compute kernel configuration. Defaults to None.

Returns:

ttnn.Tensor – the output tensor.

Examples

>>> # Integer scale (optimized path)
>>> output = ttnn.upsample(input, 2)
>>> output = ttnn.upsample(input, [2, 3])
>>> # Float scale (general path)
>>> output = ttnn.upsample(input, 1.5)
>>> output = ttnn.upsample(input, [1.5, 2.5])
>>> # Bilinear mode (integer scales only)
>>> output = ttnn.upsample(input, 2, mode="bilinear")