详解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程序设计入门(4)模块和包
Jun 16 Python
python 排序算法总结及实例详解
Sep 28 Python
Python高级用法总结
May 26 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
Python实现括号匹配方法详解
Feb 10 Python
python实现图片横向和纵向拼接
Mar 05 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
python中shell执行知识点
May 06 Python
Python把图片转化为pdf代码实例
Jul 28 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
PHP使用数组实现队列
2012/02/05 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
python xml解析实例详解
2016/11/14 Python
python中logging库的使用总结
2017/10/18 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python相对企业语言优势在哪
2020/06/12 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
店铺转让协议书
2015/01/29 职场文书
音乐教师个人总结
2015/02/06 职场文书
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS