详解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 相关文章推荐
Python中__init__和__new__的区别详解
Jul 09 Python
Python实现excel转sqlite的方法
Jul 17 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
python绘制简单折线图代码示例
Dec 19 Python
Python数据集切分实例
Dec 08 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
Django websocket原理及功能实现代码
Nov 14 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
jquery创建div 实现代码
2009/04/27 Javascript
flexigrid 参数说明
2010/11/23 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
python实现扫雷游戏
2020/03/03 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
婚礼主持词
2014/03/13 职场文书
元旦联欢会主持词
2014/03/26 职场文书
关于工作经历的证明书
2014/10/11 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2014年接待工作总结
2014/11/26 职场文书
入党介绍人考察意见
2015/06/01 职场文书
Python上下文管理器Content Manager
2021/06/26 Python
python井字棋游戏实现人机对战
2022/04/28 Python
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server