深度实践OpenStack:基于Python的OpenStack组件开发—3.2.3 构造等比数列和等差数列张量
3.2.3 构造等比数列和等差数列张量
本节介绍如何用torch.arange()、torch.range()、torch.linspace()和torch.logspace()函数构造张量,使其元素为等差数列或等比数列。
首先来看等差数列张量的构造。
先来看torch.arange() 函数。使用这个函数需要指定数列的开始元素start(含,默认是0)、结束元素end(不含)和公差step。得到的数列包括start但不包括end,数列长度为。使用torch.range() 函数可以得到长度为的等差数列。例如,下列两行代码构造了两个相等的张量,它们的大小都是,元素都是0、1、2、3这4个数。
torch.arange(0, 4, step=1)
torch.range(0, 3, step=1)
构造等差数列还可以使用torch.linspace() 函数。这个函数的前两个参数是数列最开始的数和最后的数,还有一个参数steps说明数列中一共有几个数。例如,运行下面代码可以得到大小为 (4,) 的张量,其元素为0、1、2、3这4个数:
torch.linspace(0, 3, steps=4)
然后来看等比数列张量的构造。构造等比数列张量需要用到torch.logspace() 函数。
torch.logspace() 函数的用法和torch.linspace() 函数非常相似。不过,torch.logspace() 函数的前两个参数经过的运算后,才是数列最开始的数和最后的数,还有一个参数steps说明数列中一共有几个数。例如,运行下面代码可以得到大小为 (4,) 的张量,其元素为1、10、100、1000这4个数:
torch.logspace(0, 3, steps=4)
- 点赞
- 收藏
- 关注作者
评论(0)