如何在 PyTorch 中访问和修改张量的值?
我们使用索引和切片来访问张量的值。索引用于访问张量的单个元素的值,而切片用于访问元素序列的值。
我们使用赋值运算符来修改张量的值。使用赋值运算符分配新值/秒将使用新值/秒修改张量。
脚步
导入所需的库。在这里,所需的库是torch。
定义PyTorch张量。
使用索引访问特定索引处的单个元素的值或使用slicing访问元素序列的值。
使用赋值运算符用新值修改访问的值。
最后,打印张量以检查是否使用新值修改了张量。
示例 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)
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.]])
示例 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)
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.]])
以上是 如何在 PyTorch 中访问和修改张量的值? 的全部内容, 来源链接: utcz.com/z/358661.html