详解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实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
python3中bytes和string之间的互相转换
Feb 09 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
详解Python requests 超时和重试的方法
Dec 18 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
pandas抽取行列数据的几种方法
Dec 13 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python如何利用cv2模块读取显示保存图片
Jun 04 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
层叠菜单的动态生成
2006/10/09 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
Cookie 小记
2010/04/01 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
python读取浮点数和读取文本文件示例
2014/05/06 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
jupyter notebook 重装教程
2020/04/16 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
活动总结怎么写
2014/04/28 职场文书
2015年元旦活动总结
2014/05/09 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电
Redis过期数据是否会被立马删除
2022/07/23 Redis