详解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 29 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
python执行get提交的方法
Apr 29 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
Python 读写文件的操作代码
Sep 20 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
Pytorch实验常用代码段汇总
Nov 19 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
Python进行区间取值案例讲解
Aug 02 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
PHP中array_slice函数用法实例详解
2014/11/25 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
几行js代码实现自适应
2017/02/24 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python 通过文件夹导入包的操作
2020/06/01 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
python程序如何进行保存
2020/07/03 Python
python全栈开发语法总结
2020/11/22 Python
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
悬挂训练绳:TRX
2017/12/14 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
单位介绍信范文
2014/01/18 职场文书
学校联谊协议书
2014/09/16 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
大学教师个人总结
2015/02/10 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
不同意离婚答辩状
2015/05/22 职场文书
详解python网络进程
2021/06/15 Python