详解pytorch创建tensor函数


Posted in Python onMarch 22, 2022

1、通过复制数据构造张量

1.1 torch.tensor()

torch.tensor([[0.1, 1.2], [2.2, 3.1], [4.9, 5.2]])
Out[111]: 
tensor([[0.1000, 1.2000],
        [2.2000, 3.1000],
        [4.9000, 5.2000]])
torch.tensor([0, 1]) 
Out[112]: tensor([0, 1])
torch.tensor([[0.11111, 0.222222, 0.3333333]],
             dtype=torch.float64,              device=torch.device('cpu'))
Out[113]: tensor([[0.1111, 0.2222, 0.3333]], dtype=torch.float64)
torch.tensor(3.14159)
Out[114]: tensor(3.1416)
torch.tensor([]) 
Out[115]: tensor([])

torch.tensor([[0.11111, 0.222222, 0.3333333]],
             dtype=torch.float64,              device=torch.device('cpu'), requires_grad=True, pin_memory=False)
Out[117]: tensor([[0.1111, 0.2222, 0.3333]], dtype=torch.float64, requires_grad=True)
  • dtype(torch.dtype,可选)–返回张量的所需数据类型。默认值:如果没有,则根据数据推断数据类型。
  • device(torch.device,可选)–构造张量的装置。如果没有,并且数据是张量,那么就使用数据设备。如果没有且数据不是张量,则结果张量在CPU上构造。
  • require_grad(bool,可选)– 是否需要保留梯度信息。默认值:False。
  • pin_memory(bool,可选)–如果设置了,返回的张量将分配到pind内存中。仅适用于CPU张量。默认值:False。

1.2 将numpy的ndarray转为tensor

>>> a = numpy.array([1, 2, 3])
>>> t = torch.as_tensor(a)
>>> t
tensor([1, 2, 3])
>>> t[0] = -1
>>> a
array([-1,  2,  3])
>>> a = numpy.array([1, 2, 3])
>>> t = torch.as_tensor(a, device=torch.device('cuda'))
>>> t[0] = -1
>>> a
array([1, 2, 3])

t = torch.as_tensor([2, 2, 2], device=torch.device('cuda'))
>>> t
tensor([2, 2, 2], device='cuda:0')

a = numpy.array([1, 2, 3])
t = torch.from_numpy(a)
t
Out[38]: tensor([1, 2, 3])
t[0] = -1
a
Out[40]: array([-1,  2,  3])

2、生成全0或者全1的tensor

torch.zeros(2, 3)
Out[41]: 
tensor([[0., 0., 0.],
        [0., 0., 0.]])
torch.zeros(5)
Out[42]: tensor([0., 0., 0., 0., 0.])

torch.ones(2, 3)
Out[43]: 
tensor([[1., 1., 1.],
        [1., 1., 1.]])
torch.ones(5)
Out[44]: tensor([1., 1., 1., 1., 1.])

参数列表:

  • out:输出的对象
  • dtype: 返回的张量的所需数据类型。默认值:如果没有,则使用全局默认值(请参阅torch.set_Default_tensor_type())。
  • layout
  • device: 构造张量的装置。如果没有,并且数据是张量,那么就使用数据设备。如果没有且数据不是张量,则结果张量在CPU上构造。
  • requires_grad: 是否需要保留梯度信息。默认值:False。

3、生成序列

3.1、 生成一个指定步长的等差序列

torch.arange(5)
Out[45]: tensor([0, 1, 2, 3, 4])
torch.arange(1, 4)
Out[46]: tensor([1, 2, 3])
torch.arange(1, 2.5, 0.5)
Out[47]: tensor([1.0000, 1.5000, 2.0000])
  • start: 点集的开始值。默认值:0。
  • end: 点集的结束值
  • step: 每对相邻点之间的间隙。默认值:1,可以是小数。

3.2 生成一个指定步数的等差数列

torch.linspace(3, 10, steps=5)
Out[49]: tensor([ 3.0000,  4.7500,  6.5000,  8.2500, 10.0000])
torch.linspace(-10, 10, steps=5)
Out[50]: tensor([-10.,  -5.,   0.,   5.,  10.])
torch.linspace(start=-10, end=10, steps=1)
Out[51]: tensor([-10.])

4、生成指定大小的单位矩阵

torch.eye(3)
Out[58]: 
tensor([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])

5、生成一个指定大小张量

torch.empty((2,3), dtype=torch.int64)
Out[59]: 
tensor([[0, 0, 0],
        [0, 0, 2]])

6、 创建一个指定大小的张量。张量的数据是填充的指定值

torch.full((2, 3), 3.141592)
Out[67]: 
tensor([[3.1416, 3.1416, 3.1416],
        [3.1416, 3.1416, 3.1416]])

到此这篇关于pytorch创建tensor函数详情的文章就介绍到这了,更多相关pytorch创建tensor函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
详解Django中Request对象的相关用法
Jul 17 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
Python中的变量和作用域详解
Jul 13 Python
python保存网页图片到本地的方法
Jul 24 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
Django中更改默认数据库为mysql的方法示例
Dec 05 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
Python中关于浮点数的冷知识
Sep 22 Python
Python下利用BeautifulSoup解析HTML的实现
Jan 17 Python
Python txt文件如何转换成字典
Nov 03 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
自定义php类(查找/修改)xml文档
2013/03/26 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python实现Linux中的du命令
2017/06/12 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
Python项目跨域问题解决方案
2020/06/22 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
社团2014年植树节活动总结
2014/03/11 职场文书
大班开学家长寄语
2014/04/04 职场文书
考试诚信承诺书
2014/05/23 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
投标售后服务承诺书
2015/04/29 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书