pytorch创建tensor函数详情
作者:就是一顿骚操作 发布时间:2021-10-30 15:09:56
标签:pytorch,创建,tensor,函数
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]])
来源:https://blog.csdn.net/weixin_36893273/article/details/123544373


猜你喜欢
- 一、为什么要安装虚拟环境 情景一、项目A需要某个库的1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境
- 在main.js中按需引入import { Toast} from 'vantVue.use(Toast)页面中的methods中使
- 我的数据库如图结构我取了其中的name age nr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是a
- Q:Dreamweaver(简称DW)中如何输入空格?A:按下“Ctrl+Shift+空格键”或者在中
- 利用Python正则表达式匹配字符串中的http链接。主要难点是用正则表示出http 链接的模式。import repattern = re
- 本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:典型代码1:from collect
- 首先,来说一下对话框: 对话框在Windows应用程序中使用非常普遍,许多应用程序的设定,与用户交互需要通过对话框来进行,因此对话框是Win
- 本文用python实现线性回归算法,供大家参考,具体内容如下# -*- coding: utf-8 -*-"""
- Vue在目前是很好的框架,第一次使用Vue开发项目,刚开始的时候在一个控制开关的组件都花费了很久的时间,问题解决了,把自己的一些小问题给记录
- Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形。图形解析与工作流图形解析 工
- 本文实例讲述了python判断windows系统是32位还是64位的方法。分享给大家供大家参考。具体分析如下:通常64的windows系统p
- 经常在网站上看到诸如www.abc.com/?news或者www.abc.com/?id=123这样的网址,一开始觉得很神秘,其实现在看多了
- 1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终
- 现在的垃圾留言越来越智能,并且从留言内容几乎看不出来是垃圾留言,而大量的垃圾留言会导致文章可读性下降,并可能会被搜索引擎惩罚,经过一段时间的
- Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 &
- 摘要:将英文单词首字母变成大写是一个古老的话题,很常用,也很简单。不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗!将英文
- 想用linux虚拟机装一个oracle,中间遇到的坑太多了,最后总算是安装好了,一定要写个全面的教程出来。话不多说通用编辑命令:vi tes
- 比如我们有一张school表,里面有一个字段county_name,现在我们要查询county_name字段中包含a-w字母和数字以外字符的
- 在读取文件时候比如读取 xxx.csv 时候 可能报编码错误类似于'xxx' codec can't decode
- 一、TensorFLow完整样例在MNIST数据集上,搭建一个简单神经网络结构,一个包含ReLU单元的非线性化处理的两层神经网络。在训练神经