Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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
Recommended Articles
Page :

Start Your Coding Journey Now!