strided_slice
- paddle. strided_slice ( x: Tensor, axes: Sequence[int | Tensor], starts: Sequence[int | Tensor] | Tensor, ends: Sequence[int | Tensor] | Tensor, strides: Sequence[int | Tensor] | Tensor, name: str | None = None ) Tensor [source]
- 
         This operator produces a slice of xalong multiple axes. Similar to numpy: https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html Slice usesaxes,startsandendsattributes to specify the start and end dimension for each axis in the list of axes and Slice uses this information to slice the input data tensor. If a negative value is passed tostartsorendssuch as \(-i\), it represents the reverse position of the axis \(i-1\) th(here 0 is the initial position). Thestridesrepresents steps of slicing and if thestridesis negative, slice operation is in the opposite direction. If the value passed tostartsorendsis greater than n (the number of elements in this dimension), it represents n. For slicing to the end of a dimension with unknown size, it is recommended to pass in INT_MAX. The size ofaxesmust be equal tostarts,endsandstrides. Following examples will explain how strided_slice works:Case1: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [1, 0] ends = [2, 3] strides = [1, 1] Then: result = [ [5, 6, 7], ] Case2: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [0, 1] ends = [2, 0] strides = [1, -1] Then: result = [ [8, 7, 6], ] Case3: Given: data = [ [1, 2, 3, 4], [5, 6, 7, 8], ] axes = [0, 1] starts = [0, 1] ends = [-1, 1000] strides = [1, 3] Then: result = [ [2], ]- Parameters
- 
           - x (Tensor) – An N-D - Tensor. The data type is- bool,- float16,- float32,- float64,- int32or- int64.
- axes (list|tuple) – The data type is - int32. Axes that starts and ends apply to. It’s optional. If it is not provides, it will be treated as \([0,1,...,len(starts)-1]\).
- starts (list|tuple|Tensor) – The data type is - int32. If- startsis a list or tuple, the elements of it should be integers or Tensors with shape []. If- startsis an Tensor, it should be an 1-D Tensor. It represents starting indices of corresponding axis in- axes.
- ends (list|tuple|Tensor) – The data type is - int32. If- endsis a list or tuple, the elements of it should be integers or Tensors with shape []. If- endsis an Tensor, it should be an 1-D Tensor. It represents ending indices of corresponding axis in- axes.
- strides (list|tuple|Tensor) – The data type is - int32. If- stridesis a list or tuple, the elements of it should be integers or Tensors with shape []. If- stridesis an Tensor, it should be an 1-D Tensor. It represents slice step of corresponding axis in- axes.
- name (str|None, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to api_guide_Name . 
 
- Returns
- 
           Tensor, A Tensorwith the same dimension asx. The data type is same asx.
 Examples >>> import paddle >>> x = paddle.zeros(shape=[3,4,5,6], dtype="float32") >>> # example 1: >>> # attr starts is a list which doesn't contain Tensor. >>> axes = [1, 2, 3] >>> starts = [-3, 0, 2] >>> ends = [3, 2, 4] >>> strides_1 = [1, 1, 1] >>> strides_2 = [1, 1, 2] >>> sliced_1 = paddle.strided_slice(x, axes=axes, starts=starts, ends=ends, strides=strides_1) >>> # sliced_1 is x[:, 1:3:1, 0:2:1, 2:4:1]. >>> # example 2: >>> # attr starts is a list which contain tensor Tensor. >>> minus_3 = paddle.full(shape=[1], fill_value=-3, dtype='int32') >>> sliced_2 = paddle.strided_slice(x, axes=axes, starts=[minus_3, 0, 2], ends=ends, strides=strides_2) >>> # sliced_2 is x[:, 1:3:1, 0:2:1, 2:4:2]. 
