Open In App

How to Slice a 3D Tensor in Pytorch?

Improve
Improve
Like Article
Like
Save
Share
Report

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]])


Last Updated : 18 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads