【PYG】 PyTorch中size方法和属性

在 PyTorch 中,size 方法和属性用于获取张量的维度信息。下面是它们的用法和区别:

  1. node_features.size

    • 这是一个属性(attribute ),返回一个 torch.Size 对象,表示张量的维度。这是不可调用的,因此不能直接用于获取特定维度的大小。
    • 示例:
      size_attr = node_features.size
      print(size_attr)  # 输出: torch.Size([3, 4])
      
  2. node_features.size()

    • 这是一个方法(method),返回一个 torch.Size 对象,本质上是一个包含张量维度的元组(tuple)。这个方法是可调用的,返回的结果与 size 属性相同。
    • 示例:
      size_method = node_features.size()
      print(size_method)  # 输出: torch.Size([3, 4])
      
  3. node_features.size(1)

    • 这是一个方法调用,它接受一个整数参数(维度索引)并返回该维度的大小。这个方法用于直接获取特定维度的大小。
    • This is a method call that takes an integer argument (the dimension index) and returns the size of that specific dimension. This is useful for obtaining the size of a particular dimension directly.
    • 示例:
      size_dim1 = node_features.size(1)
      print(size_dim1)  # 输出: 4
      

总结

  • node_features.size:属性,返回维度信息作为 torch.Size 对象。Attribute that returns the dimensions as a torch.Size object.
  • node_features.size():方法,返回维度信息作为 torch.Size 对象(与属性相同)。
  • node_features.size(dimension):方法,返回指定维度的大小。 Method that returns the size of the specified dimension.

示例使用

下面是一个完整的示例来展示用法:

import torchnode_features = torch.tensor([[1.0, 2.0, 3.0, 4.0],[2.0, 3.0, 4.0, 5.0],[3.0, 4.0, 5.0, 6.0]])# 使用 size 属性
size_attr = node_features.size
print(f"使用 size 属性: {size_attr}")  # 输出: 使用 size 属性: torch.Size([3, 4])# 使用 size 方法(无参数)
size_method = node_features.size()
print(f"使用 size 方法: {size_method}")  # 输出: 使用 size 方法: torch.Size([3, 4])# 使用 size 方法(带维度参数)
size_dim1 = node_features.size(1)
print(f"维度 1 的大小: {size_dim1}")  # 输出: 维度 1 的大小: 4

为什么能输入 1

node_features.size(1) 中,参数 1 表示你想获取张量的第 1 个维度(从 0 开始计数)。对于这个特定的张量 node_features,它的形状是 [3, 4],其中:

  • 0 维度的大小是 3(行数)
  • 1 维度的大小是 4(列数)

因此,node_features.size(1) 返回 4,因为第 1 个维度有 4 个元素。

使用 size 属性: <built-in method size of Tensor object at 0x7f0254cef400>
使用 size 方法: torch.Size([3, 4])
维度 1 的大小: 4
  • 打印type(size_attr)得到<class ‘builtin_function_or_method’>
  • 打印type(size_method)得到<class ‘torch.Size’>
  • 如果调用不存在的维度会报错
    size_dim1 = node_features.size(2)
    IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用MySQL+node+vue做一个学生信息管理系统(一):配置项目

先用npm init -y生成配置文件 在项目下新建src文件夹&#xff0c;app.js文件。src目录用来放静态资源文件&#xff0c;app.js是服务器文件&#xff0c;index.js是vue的入口文件 使用npm install express下载express框架 在app.js文件夹开启node服务&#xff0c;监听的端口为…

C++ //练习 14.29 为什么不定义const版本的递增和递减运算符?

C Primer&#xff08;第5版&#xff09; 练习 14.29 练习 14.29 为什么不定义const版本的递增和递减运算符&#xff1f; 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释&#xff1a; 递增和递减要改变对象本身&#xff0c;const类…

Go语言--运算符

算术运算符 关系运算符 不能写0<a<10&#xff0c;要判断必须0<a&&a<10。因为int和bool不兼容 逻辑运算符 位运算符 赋值运算符 其他 运算符的优先级

AcWing 1254:找树根和孩子

【题目来源】https://www.acwing.com/problem/content/1256/【题目描述】 给定一棵树&#xff0c;输出树的根root&#xff0c;孩子最多的结点max以及他的孩子。【输入格式】 第一行&#xff1a;n&#xff0c;m&#xff0c;表示树的节点数和边数。 以下m行&#xff1a;每行两个结…

浮点数在内存中的存储结构

浮点数在内存中的存储可以参考《IEEE754标准》https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF 参考博文&#xff1a;IEEE754详解&#xff08;最详细简单有趣味的介绍&#xff09;-CSDN博客 单精度float占内存4字节&#xff0c;最高位bit31表示符号位&…

国家海岸线变化评估:新英格兰和中大西洋沿岸海岸线的历史变化

National Assessment of Shoreline Change: Historical Shoreline Change along the New England and Mid-Atlantic Coasts 国家海岸线变化评估&#xff1a;新英格兰和中大西洋沿岸海岸线的历史变化 摘要 海滩侵蚀是美国许多公海沿岸的一个长期问题。随着沿岸人口的不断增加…

永辉超市购物卡有什么用?

感觉现在在超市买东西&#xff0c;还不如网购 这不&#xff0c;端午的时候&#xff0c;朋友送的永辉卡&#xff0c;一直没时间去用&#xff0c;我总担心过期 但是去了超市后&#xff0c;又不知道买什么&#xff0c;最后空手而归 还好收卡云可以回收永辉卡&#xff0c;两张三…

《C++20设计模式》适配器模式经验分享

文章目录 一、前言二、对于接口的讨论三、实现1、对象适配器1.1 UML类图1.2 实现 2、类适配器 四、最后 一、前言 从适配器模式开始就是类的组合聚合&#xff0c;类与类之间结构性的问题了。 适配器模式解决的问题&#xff1a; 适配器模式能够在不破坏现有系统结构的情况下&a…

mapreduce实现bean的序列化与反序列化

目录 序列化&#xff08;Serialization&#xff09; 反序列化&#xff08;Deserialization&#xff09; 事例操作 UserSale 重写序列化方法 重写反序列化 重写toString方法 SaleMapper SaleReducer SaleDriver 序列化&#xff08;Serialization&#xff09; 序列化是将…

【后端面试题】【中间件】【NoSQL】MongoDB的配置服务器、复制机制、写入语义和面试准备

MongoDB的配置服务器 引入了分片机制之后&#xff0c;MongoDB启用了配置服务器(config server) 来存储元数据&#xff0c;这些元数据包括分片信息、权限控制信息&#xff0c;用来控制分布式锁。其中分片信息还会被负责执行查询mongos使用。 MongoDB的配置服务器有一个很大的优…

WPF----自定义滚动条ScrollViewer

滚动条是项目当中经常用到的一个控件&#xff0c;大部分对外项目都有外观的需求&#xff0c;因此需要自定义&#xff0c;文中主要是针对一段动态的状态数据进行展示&#xff0c;并保证数据始终在最新一条&#xff0c;就是需要滚动条滚动到底部。 1&#xff0c;xaml中引入 <…

zxing-cpp+OpenCV根据字符串生成条形码

编译构建 需要使用到 CMake、Git、GCC 或 MSVC。 github 链接&#xff1a;https://github.com/zxing-cpp/zxing-cpp 编译之前请确保&#xff1a; 确保安装了 CMake 版本 3.15 或更高版本。 确保安装了与 C17 兼容的编译器(最低VS 2019 16.8 / gcc 7 / clang 5)。 编译构建…

Python面试宝典第4题:环形链表

题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果存在环 &#xff0c;则返回 true 。 否则&#xff0c;返回 false 。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xf…

重写父类方法、创建单例对象 题目

题目 JAVA27 重写父类方法分析&#xff1a;代码&#xff1a; JAVA28 创建单例对象分析&#xff1a;代码&#xff1a; JAVA27 重写父类方法 描述 父类Base中定义了若干get方法&#xff0c;以及一个sum方法&#xff0c;sum方法是对一组数字的求和。请在子类 Sub 中重写 getX() 方…

AI智能体|AI打工我躺平!使用扣子Coze智能体自动生成和发布文章到微信公众号(一)

大家好&#xff0c;我是无界生长&#xff0c;国内最大AI付费社群“AI破局俱乐部”初创合伙人。这是我的第 44 篇原创文章——《AI智能体&#xff5c;AI打工我躺平&#xff01;使用扣子Coze智能体自动生成和发布文章到微信公众号&#xff08;一&#xff09;》 AI智能体&#xf…

《涅朵奇卡:一个女人的一生》读后感

这周的计划是看完海明威的《丧钟为谁而鸣》&#xff0c;但是因为下班晚&#xff0c;而且书的体量大&#xff0c;所以只看了一半。本来以为这周的阅读计划完不成了&#xff0c;不料昨天加完班后拿起新到的《涅朵奇卡&#xff1a;一个女人的一生》&#xff0c;不自觉就陷进去了&a…

端口聚合基础知识

一、什么是端口聚合 端口聚合是将多个物理端口捆绑在一起&#xff0c;形成一个逻辑链路&#xff0c;以实现带宽增加、提高冗余和负载均衡的技术。端口聚合&#xff0c;也称为以太通道&#xff08;Ethernet Channel&#xff09;&#xff0c;主要用于交换机之间的连接。在具有多…

开发数字药店APP实战:互联网医院系统源码详解

本篇文章&#xff0c;笔者将深入探讨如何开发一个功能完善的数字药店APP&#xff0c;并详细解析互联网医院系统的源码实现。 一、数字药店APP的需求分析 应具备以下基本功能&#xff1a; 用户注册与登录 药品搜索与浏览 在线下单与支付 订单管理 健康咨询与远程医疗 个人…

partition()方法——分割字符串为元组

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 partition()方法根据指定的分隔符将字符串进行分割。如果字符串中包含指定的分隔符&#xff0c;则返回一个3元的元组&#xff0c;第一个为…

Perl 语言开发(四):条件语句

目录 1. 概述 2. if 语句 3. else 语句 4. elsif 语句 5. unless 语句 6. 嵌套条件语句 7. 三元运算符 8. 智能匹配运算符 9. given-when 语句 10. 条件修饰符 11. 高级条件语句应用 11.1 数据验证 11.2 配置文件解析 11.3 异常处理 12. 条件语句的最佳实践 12…