通过索引,可以选取向量中的指定元素
【一维Tensor的索引】
对于一维Tensor,可以仿照python的列表,使用从0开始整数顺序索引
import paddle
a=paddle.arange(1,7)
print(a)
print(a[0],a[1],a[2],a[3],a[4],a[5])
也可以使用负数索引,反向遍历Tensor
import paddle
a=paddle.arange(1,7)
print(a)
print(a[-1],a[-2],a[-3],a[-4],a[-5],a[-6])
【一维Tensor的索引】
对于一个二维数组,选取某个元素就要用到两个整数
指定它所在的行和列
数字之间用逗号隔开,可以使用正负数,也可以正负数混用
import paddle
a=paddle.reshape(paddle.arange(1,13),(3,4))
print(a)
print(a[2,3])
print(a[0,-1])
【Tensor切片】
切片操作可以选取Tensor的部分元素
下面以二维向量为例
【选取整行整列】
如果某个维度的索引为一个冒号:
则表示选取这个维度的所有元素,我们可以使用这个特性选中整行元素
import paddle
a=paddle.reshape(paddle.arange(1,13),(3,4))
print(a)
print(a[0,:])
print(a[1,:])
第0维的索引代表要选中哪一行,类似的,我们也可以选中整列
import paddle
a=paddle.reshape(paddle.arange(1,13),(3,4))
print(a)
print(a[:,0])
print(a[:,1])
【指定范围】
与numpy数组类似,Tensor类型数据也可以使用start:end:step的格式进行切片
import paddle
a=paddle.reshape(paddle.arange(1,13),(3,4))
print(a)
print(a[0,1:4])
a[0,1:4]就表示选取向量a的第0行中的第1~第3元素((1,4),左闭右开)
与numpy同理,在这里
a[0,:2]表示a[0,0:2]
a[0,2:]表示a[0,2:4]
大家可以自行尝试
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。