详解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多线程扫描端口示例
Jan 16 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
让python 3支持mysqldb的解决方法
Feb 14 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
新手入门学习python Numpy基础操作
Mar 02 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
Python self用法详解
Nov 28 Python
详解Python+OpenCV绘制灰度直方图
PYTHON使用Matplotlib去实现各种条形图的绘制
Python+OpenCV实现在图像上绘制矩形
Matplotlib绘制条形图的方法你知道吗
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 #Python
python的netCDF4批量处理NC格式文件的操作方法
Python&Matlab实现灰狼优化算法的示例代码
You might like
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
zend framework重定向方法小结
2016/05/28 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
jquery实现多屏多图焦点图切换特效的方法
2015/05/04 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
Python自动生产表情包
2017/03/17 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
简单实现python收发邮件功能
2018/01/05 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
师范生实习的个人自我鉴定
2013/10/20 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
爱心捐款倡议书
2014/04/14 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
个人政治思想总结
2015/03/05 职场文书
社区义诊通知
2015/04/24 职场文书