Deep-Learning-with-PyTorch

Deep-Learning-with-PyTorch-3.3 索

2020-09-23  本文已影响0人  追求科技的足球

3.3 索引张量

如果我们需要获取一个包含除第一个点以外的所有点的张量怎么办? 使用范围索引符号很容易,它也适用于标准Python列表。 请注意:

# In[53]:
some_list = list(range(6))
some_list[:]    # 所有元素
some_list[1:4]  # 包含从元素1到元素4
some_list[1:]   # 包含从元素1到列表的末尾
some_list[:4]   # 从列表开始元素到第4个
some_list[:-1]  # 从开始元素到倒数第二个元素
some_list[1:4:2]    # 从元素1到元素4,间隔为2

为了实现我们的目标,我们可以对PyTorch张量使用相同的符号,其附加好处是,就像在NumPy和其他Python科学库中一样,我们可以对每个张量的维使用范围索引:

# In[54]:
points[1:] # 第一行之后的所有行; 隐式地所有列
points[1:, :] # 第一行之后的所有行; 所有列
points[1:, 0] # 第一行之后的所有行; 第一列
points[None] # 添加大小为1的维度,就像取消挤压一样

除了使用范围之外,PyTorch还具有强大的索引形式,称为高级索引,我们将在下一章中介绍。

上一篇 下一篇

猜你喜欢

热点阅读