详解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实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
Python常用算法学习基础教程
Apr 13 Python
Python处理文本换行符实例代码
Feb 03 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
详解Django-restframework 之频率源码分析
Feb 27 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
关于python3中setup.py小概念解析
Aug 22 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
基于Tensorflow高阶读写教程
Feb 10 Python
python 读取.nii格式图像实例
Jul 01 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
JS判定是否原生方法
2013/07/22 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
javascript事件模型介绍
2016/05/31 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
Python中变量交换的例子
2014/08/25 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
交通安全教育制度
2014/02/02 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
答谢词范文
2015/01/05 职场文书