- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to access and modify the values of a Tensor in PyTorch?
We use Indexing and Slicing to access the values of a tensor.Indexing is used to access the value of a single element of the tensor, whereasSlicing is used to access the values of a sequence of elements.
We use the assignment operator to modify the values of a tensor. Assigning new value/s using the assignment operator will modify the tensor with new value/s.
Steps
Import the required libraries. Here, the required library is torch.
Define a PyTorch tensor.
Access the value of a single element at particular index using indexing or access the values of sequence of elements using slicing.
Modify the accessed values with new values using the assignment operator.
Finally, print the tensor to check if the tensor is modified with the new values.
Example 1
# Python program to access and modify values of a tensor in PyTorch # Import the libraries import torch # Define PyTorch Tensor a = torch.Tensor([[3, 5],[1, 2],[5, 7]]) print("a:\n",a) # Access a value at index [1,0]-> 2nd row, 1st Col using indexing b = a[1,0] print("a[1,0]:\n", b) # Other indexing method to access value c = a[1][0] print("a[1][0]:\n",c) # Modifying the value 1 with new value 9 # assignment operator is used to modify with new value a[1,0] = 9 print("tensor 'a' after modifying value at a[1,0]:") print("a:\n",a)
Output
a: tensor([[3., 5.], [1., 2.], [5., 7.]]) a[1,0]: tensor(1.) a[1][0]: tensor(1.) tensor 'a' after modifying value at a[1,0]: a: tensor([[3., 5.], [9., 2.], [5., 7.]])
Example 2
# Python program to access and modify values of a tensor in PyTorch # Import necessary libraries import torch # Define PyTorch Tensor a = torch.Tensor([[3, 5],[1, 2],[5, 7]]) print("a:\n", a) # Access all values of 2nd row using slicing b = a[1] print("a[1]:\n", a[1]) # Access all values of 1st and 2nd rows b = a[0:2] print("a[0:2]:\n" , a[0:2]) # Access all values of 2nd col c = a[:,1] print("a[:,1]:\n", a[:,1]) # Access values from first two rows but 2nd col print("a[0:2, 1]:\n", a[0:2, 1]) # assignment operator is used to modify with new value # Modifying the values of 2nd row a[1] = torch.Tensor([9, 9]) print("After modifying a[1]:\n", a) # Modify values of first two rows but 2nd col a[0:2, 1] = torch.Tensor([4, 4]) print("After modifying a[0:2, 1]:\n", a)
Output
a: tensor([[3., 5.], [1., 2.], [5., 7.]]) a[1]: tensor([1., 2.]) a[0:2]: tensor([[3., 5.], [1., 2.]]) a[:,1]: tensor([5., 2., 7.]) a[0:2, 1]: tensor([5., 2.]) After modifying a[1]: tensor([[3., 5.], [9., 9.], [5., 7.]]) After modifying a[0:2, 1]: tensor([[3., 4.], [9., 4.], [5., 7.]])
Advertisements