详解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.x中str与unicode相关问题的解决方法
Mar 30 Python
深入解析Python中的集合类型操作符
Aug 19 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
对python判断ip是否可达的实例详解
Jan 31 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
基于tensorflow for循环 while循环案例
Jun 30 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
Nov 01 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
Feb 02 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
第三章 php操作符与控制结构代码
2011/12/30 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
php中session定期自动清理的方法
2015/11/12 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
详解如何运行vue项目
2019/04/15 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
Python 模拟购物车的实例讲解
2017/09/11 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
python numpy 反转 reverse示例
2019/12/04 Python
个人对照检查材料
2014/02/12 职场文书
厨师长岗位职责
2014/03/02 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Java8中Stream的一些神操作
2021/11/02 Java/Android