深度实践OpenStack:基于Python的OpenStack组件开发—3.2.3 构造等比数列和等差数列张量

举报
华章计算机 发表于 2019/06/01 23:07:57 2019/06/01
【摘要】 本书摘自《深度实践OpenStack》,作者是喻涛,田亮,张家龙,赵利军,李飞。

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)


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。