美文网首页
PaddlePaddle中的Tensor索引与切片

PaddlePaddle中的Tensor索引与切片

作者: LabVIEW_Python | 来源:发表于2021-02-20 07:52 被阅读0次

在PaddlePaddle中的Tensor索引与切片的规则如下:

  • 基于 0-n 的下标进行索引
  • 如果下标为负数,则从尾部开始
  • 通过冒号 : 分隔切片参数 start:stop:step 来进行切片操作,其中 start、stop、step 均可缺省

假设有一维的Tensor: ndim_1_tensor = paddle.to_tensor([0, 1, 2, 3, 4, 5, 6, 7, 8])

  • 取首端元素:ndim_1_tensor[0]
  • 取末端元素:ndim_1_tensor[-1]
  • 取所有元素:ndim_1_tensor[:]
  • 取索引3之前的所有元素:ndim_1_tensor[:3]
  • 取从索引6开始的所有元素:ndim_1_tensor[6:]
  • 取从索引3开始到索引6之前的所有元素:ndim_1_tensor[3:6]
  • 间隔3取所有元素:ndim_1_tensor[::3]
  • 逆序取所有元素:ndim_1_tensor[::-1]

范例程序如下:

ndim_1_tensor = paddle.to_tensor([0, 1, 2, 3, 4, 5, 6, 7, 8])
print("Origin Tensor:", ndim_1_tensor.numpy())

print("First element:", ndim_1_tensor[0].numpy())
print("Last element:", ndim_1_tensor[-1].numpy())
print("All element:", ndim_1_tensor[:].numpy())
print("Before 3:", ndim_1_tensor[:3].numpy())
print("From 6 to the end:", ndim_1_tensor[6:].numpy())
print("From 3 to 6:", ndim_1_tensor[3:6].numpy())
print("Interval of 3:", ndim_1_tensor[::3].numpy())
print("Reverse:", ndim_1_tensor[::-1].numpy())

运行结果如下:

First element: [0]
Last element: [8]
All element: [0 1 2 3 4 5 6 7 8]
Before 3: [0 1 2]
From 6 to the end: [6 7 8]
From 3 to 6: [3 4 5]
Interval of 3: [0 3 6]
Reverse: [8 7 6 5 4 3 2 1 0]

相关文章

网友评论

      本文标题:PaddlePaddle中的Tensor索引与切片

      本文链接:https://www.haomeiwen.com/subject/mgqyxltx.html