我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pytorch创建tensor函数详情

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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]])

到此这篇关于pytorch创建tensor函数详情的文章就介绍到这了,更多相关pytorch创建tensor函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pytorch创建tensor函数详情

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pytorch创建tensor的方法是什么

在PyTorch中,可以通过以下几种方法来创建tensor:使用torch.Tensor()函数创建一个空的tensor:tensor = torch.Tensor()使用torch.tensor()函数根据给定的数据创建一个tensor
pytorch创建tensor的方法是什么
2024-04-08

PyTorch中Torch.arange函数详解

PyTorch是由Facebook开发的开源机器学习库,它用于深度神经网络和自然语言处理,下面这篇文章主要给大家介绍了关于PyTorch中Torch.arange函数详解的相关资料,需要的朋友可以参考下
2023-02-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录