详解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提取wav文件的mfcc方法
Jan 09 Python
python程序控制NAO机器人行走
Apr 29 Python
24式加速你的Python(小结)
Jun 13 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
浅谈Python描述数据结构之KMP篇
Sep 06 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python实现监听键盘
Apr 26 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
python3读取文件指定行的三种方法
May 24 Python
Python使用pyecharts控件绘制图表
Jun 05 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
python encode和decode的妙用
2009/09/02 Python
python if not in 多条件判断代码
2016/09/21 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
Python dict的常用方法示例代码
2020/06/23 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
Python类成员继承重写的实现
2020/09/16 Python
python实现网页录音效果
2020/10/26 Python
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
《威尼斯的小艇》教学反思
2014/02/17 职场文书
老公给老婆的保证书
2014/04/28 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
2014组织生活会方案
2014/05/19 职场文书
暑期培训心得体会
2014/09/02 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python