详解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实现的简单文本类游戏实例
Apr 28 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
Python字符串对象实现原理详解
Jul 01 Python
Django后台admin的使用详解
Jul 08 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Python二次规划和线性规划使用实例
Dec 09 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python 下载m3u8视频的示例代码
Nov 11 Python
flask框架中的cookie和session使用
Jan 31 Python
使用Python webdriver图书馆抢座自动预约的正确方法
Mar 04 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
从零学Python之入门(四)运算
2014/05/27 Python
Python BS4库的安装与使用详解
2018/08/08 Python
python实现二维插值的三维显示
2018/12/17 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
python tornado使用流生成图片的例子
2019/11/18 Python
tensorflow的计算图总结
2020/01/12 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
python实现logistic分类算法代码
2020/02/28 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
如何在pycharm中安装第三方包
2020/10/27 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
财务会计应届生求职信
2013/11/24 职场文书
教师实习自我鉴定
2013/12/14 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
个人贷款担保书
2014/04/01 职场文书
实习报告评语
2014/04/26 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书