矩阵元素访问 - PyTorch
程序代码:
import torch
# 创建4行5列的矩阵
x = torch.rand(4,5)
# 访问整个矩阵
print("访问整个矩阵:")
print("x =", x)
# 访问矩阵的某个元素
print("访问矩阵的某个元素:")
print("x[1,2] =", x[1,2]) # 行索引为1,列索引为2,元素
# 访问矩阵的某行元素.下面3种方式等价
print("访问矩阵的某行元素:")
print("x[1,:] =", x[1,:]) # 索引为1的行
print("x[1,] =", x[1,]) # 索引为1的行
print("x[1,:] =", x[1,:]) # 索引为1的行行
# 访问矩阵的某列元素
print("访问矩阵的某列元素:")
print("x[:,2] =", x[:,2]) # 列索引为2的元素
# 访问矩阵某行的部分元素
print("访问矩阵某行的部分元素:")
print("x[1,1:3] =", x[1,1:3]) # 行索引为1,列索引为1~2的元素
print("x[1,:3] =", x[1,:3]) # 行索引为1,列索引为3以前的元素
print("x[1,0:3:2] =", x[1,0:3:2]) # 行索引为1,列索引范围为0~2,步长为2,元素
# 访问矩阵某列的部分元素
print("访问矩阵某列的部分元素:")
print("x[1:3,2] =", x[1:3,2]) # 列索引为2,行索引为1~2的元素
print("x[:3,2] =", x[:3,2]) # 列索引为2,行索引为3以前的元素
print("x[0:3:2,2] =", x[0:3:2,2]) # 列索引为2,行索引范围为0~2,步长为2,元素
运行结果:
访问整个矩阵:
x = tensor([[0.6346, 0.1965, 0.0258, 0.5001, 0.4331],
[0.8978, 0.1385, 0.3910, 0.5054, 0.7850],
[0.9423, 0.5307, 0.5437, 0.4056, 0.9018],
[0.3200, 0.0712, 0.9848, 0.9798, 0.5561]])
访问矩阵的某个元素:
x[1,2] = tensor(0.3910)
访问矩阵的某行元素:
x[1,:] = tensor([0.8978, 0.1385, 0.3910, 0.5054, 0.7850])
x[1,] = tensor([0.8978, 0.1385, 0.3910, 0.5054, 0.7850])
x[1] = tensor([0.8978, 0.1385, 0.3910, 0.5054, 0.7850])
访问矩阵的某列元素:
x[:,2] = tensor([0.0258, 0.3910, 0.5437, 0.9848])
访问矩阵某行的部分元素:
x[1,1:3] = tensor([0.1385, 0.3910])
x[1,:3] = tensor([0.8978, 0.1385, 0.3910])
x[1,0:3:2] = tensor([0.8978, 0.3910])
访问矩阵某列的部分元素:
x[1:3,2] = tensor([0.3910, 0.5437])
x[:3,2] = tensor([0.0258, 0.3910, 0.5437])
x[0:3:2,2] = tensor([0.0258, 0.5437])