 Open in App
Not now

# How to Slice a 3D Tensor in Pytorch?

• Last Updated : 18 Jul, 2021

In this article, we will discuss how to Slice a 3D Tensor in Pytorch.

Let’s create a 3D Tensor for demonstration. We can create a vector by using torch.tensor() function

Syntax: torch.tensor([value1,value2,.value n])

Code:

## Python3

 `# import torch module``import` `torch`` ` `# create an 3 D tensor with 8 elements each``a ``=` `torch.tensor([[[``1``, ``2``, ``3``, ``4``, ``5``, ``6``, ``7``, ``8``],``                   ``[``10``, ``11``, ``12``, ``13``, ``14``, ``15``, ``16``, ``17``]],``                   ` `                  ``[[``71``, ``72``, ``73``, ``74``, ``75``, ``76``, ``77``, ``78``],``                   ``[``81``, ``82``, ``83``, ``84``, ``85``, ``86``, ``87``, ``88``]]])`` ` `# display actual  tensor``print``(a)`

Output:

```tensor([[[ 1,  2,  3,  4,  5,  6,  7,  8],
[10, 11, 12, 13, 14, 15, 16, 17]],
[[71, 72, 73, 74, 75, 76, 77, 78],
[81, 82, 83, 84, 85, 86, 87, 88]]])```

### Slicing a 3D Tensor

Slicing: Slicing means selecting the elements present in the tensor by using “:” slice operator. We can slice the elements by using the index of that particular element.

Note: Indexing starts with 0

Syntax: tensor[tensor_position_start:tensor_position_end, tensor_dimension_start:tensor_dimension_end , tensor_value_start:tensor_value_end]

Parameters:

• tensor_position_start: Specifies the Tensor to start iterating
• tensor_position_end: Specifies the Tensor to stop iterating
• tensor_dimension_start: Specifies the Tensor to start the iteration of tensor in given positions
• tensor_dimension_stop: Specifies the Tensor to stop the iteration of tensor in given positions
• tensor_value_start: Specifies the start position of the  tensor to iterate the elements given in dimensions
• tensor_value_stop: Specifies the end position of the tensor to iterate the elements given in dimensions

Example 1: Python code to access all the tensors of 1 dimension and get only 7 values in that dimension

## Python3

 `# access  all the tensors of 1 ``# dimension and get only 7 values ``# in that dimension``print``(a[``0``:``1``, ``0``:``1``, :``7``])`

Output:

`tensor([[[1, 2, 3, 4, 5, 6, 7]]])`

Example 2: Python code to access all the tensors of all dimensions and get only 3 values in each dimension

## Python3

 `# access  all the tensors of all``# dimensions and get only 3 values ``# in each dimension``print``(a[``0``:``1``, ``0``:``2``, :``3``])`

Output:

```tensor([[[ 1,  2,  3],
[10, 11, 12]]])```

Example 3: Access 8 elements in 1 dimension on all tensors

## Python3

 `# access 8 elements in 1 dimension``# on all tensors``print``(a[``0``:``2``, ``1``, ``0``:``8``])`

Output:

```tensor([[10, 11, 12, 13, 14, 15, 16, 17],
[81, 82, 83, 84, 85, 86, 87, 88]])```

My Personal Notes arrow_drop_up