Clip

Function Usage

Clipping API of the tensor class. It is used to limit elements in a tensor between the specified minimum value and maximum value (elements smaller than the minimum value will be replaced with the minimum value, and elements greater than the maximum value will be replaced with the maximum value). Asynchronous calling is supported. The inplace operation is not supported.

It is supported by the Atlas inference product and Atlas 200I/500 A2 inference product.

For the Atlas 200I/500 A2 inference product, preloading is supported (see Example of the Preloading File of the Initialization Operator).

The following conditions must be met:

  • The input and output tensors must be on the device or DVPP side, and the parameters (stream and data memory) must be on the same device.
  • For synchronization, the device where the data memory is located must be the same as the initialized device.
  • The input and output parameters cannot exceed four dimensions, and must match the tensor shapes and types.

Prototype

1
APP_ERROR Clip(const Tensor &src, Tensor &dst, float minVal, float maxVal, AscendStream &stream = AscendStream::DefaultStream());

Parameters

Parameter

Input/Output

Description

src

Input

Tensor class, supporting float16, float32, and uint8 data types.

dst

Output

Tensor class, supporting float16, float32, and uint8 data types. An empty tensor can be passed. If dst is not an empty tensor, call Tensor.Malloc() to allocate memory in advance.

minVal

Input

Float type, minimum value after clipping in a tensor. Elements smaller than the minimum value will be replaced with the minimum value. The value of minVal must be less than or equal to that of maxVal.

maxVal

Input

Float type, maximum value after clipping in a tensor. Elements greater than the maximum value will be replaced with the maximum value. The value of maxVal must be greater than or equal to that of minVal.

stream

Input

AscendStream type. The default value is AscendStream::DefaultStream(). When the parameter value is the default value, the API calling is a synchronous operation. In other cases, the API calling is an asynchronous operation.

Response Parameters

Data Structure

Description

APP_ERROR

For details about the returned error codes, see APP_ERROR Description.