前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >paddle深度学习4 向量的索引与切片

paddle深度学习4 向量的索引与切片

原创
作者头像
用户11104668
发布2024-05-19 22:02:36
960
发布2024-05-19 22:02:36
举报
文章被收录于专栏:paddle深度学习paddle深度学习

通过索引,可以选取向量中的指定元素

【一维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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档