详解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提取html文件中的特定数据的实现代码
Mar 24 Python
python通过文件头判断文件类型
Oct 30 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
详解python pandas 分组统计的方法
Jul 30 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
Sep 04 Python
python中class的定义及使用教程
Sep 18 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
python创建字典及相关管理操作
Apr 13 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
php完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
Python实现的质因式分解算法示例
2018/05/03 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
python 有效的括号的实现代码示例
2019/11/11 Python
乡镇干部先进事迹材料
2014/02/03 职场文书
小学中秋节活动方案
2014/02/06 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
委托证明范本
2014/11/25 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python