当前位置: 首页 > news >正文

【小白笔记】区分类方法/实例方法和静态函数/命名空间函数

针对 PyTorch 编程习惯的关键问题。在背诵代码时,理解何时需要写 torch. 前缀,何时不需要,是区分类方法/实例方法静态函数/命名空间函数的核心。

1. X_test = X_test.to(self.device) 为什么不用 torch. 前缀?

人话解释: 因为 .to() 这个功能,是 X_test 自己作为一个“物体”(张量实例)所拥有的“能力”,而不是 PyTorch 这个“工具箱”里需要被调用的一个通用工具。

详细分解:
  1. 对象方法 (Instance Method)

    • 谁拥有? X_test 这个张量实例拥有。
    • 怎么调用? 必须通过实例名加点号(.)来调用,即 X_test.to(...)
    • 作用: 通常用于操作对象自身的状态(比如把 X_test 从 CPU 移动到 GPU)。
    • 例子: .to(), .unsqueeze(), .pow(), .cpu(), .tolist()
  2. 命名空间函数 (Namespace/Static Function)

    • 谁拥有? 属于 torch 命名空间(即 PyTorch 整个工具箱)。
    • 怎么调用? 必须写 torch. 前缀。
    • 作用: 通常用于创建新的张量、执行数学运算、或者进行全局配置。
    • 例子: torch.manual_seed(), torch.from_numpy(), torch.sum(), torch.sqrt(), torch.argsort()

2. 什么时候应该前缀 torch.?(背诵记忆指南)

请记住这个原则:

动作类型必须加 torch. 前缀不加 torch. 前缀 (通过实例调用)
创建张量torch.from_numpy(), torch.tensor(), torch.zeros()
通用运算torch.sum(), torch.sqrt(), torch.argsort() (对任何张量都适用的数学函数)
配置/环境torch.manual_seed(), torch.device(), torch.cuda.is_available()
张量移动X_test.to(device), tensor.cpu()
张量形状tensor.unsqueeze(0), tensor.view()
张量元素操作tensor.pow(2) (通常是 Python 运算符的重载,如 **2)
针对您的 KNN 代码的记忆点:
  1. 需要 torch. 的地方:

    • torch.manual_seed()
    • torch.device(...)
    • torch.from_numpy(...)
    • torch.sum(...) (数学函数)
    • torch.sqrt(...) (数学函数)
    • torch.argsort(...) (排序查找函数)
  2. 不需要 torch. 的地方 (通过张量实例调用):

    • X_train.to(self.device)
    • x_new.unsqueeze(0)
    • differences.pow(2) (这是 Tensor 对象的方法)
    • k_nearest_labels_torch.cpu().tolist()

总之,如果你看到代码中没有点号连接到 torch. 而是直接对一个变量(比如 X_test)使用点号操作(.to()),那么这个操作就是这个变量(张量实例)本身自带的能力

http://www.dtcms.com/a/495333.html

相关文章:

  • Python 分类模型评估:从理论到实战(以信用卡欺诈检测为例)
  • 开源 C++ QT QML 开发(二十三)程序发布
  • 礼与仁:社会规范与内心情感的双人舞
  • 设计模式之:简单工厂模式
  • 哈尔滨网站建设哪儿好薇榆社网站建设
  • python的报错
  • 【数据结构】单链表“0”基础知识讲解 + 实战演练
  • 龙虎榜——20251017
  • seo是做网站源码还是什么体外产品的研发网站如何建设
  • HTML纯JS添加删除行示例二
  • 笔试-基站维护
  • 深入解析内存中的整数与浮点数存储
  • 网站你懂我意思正能量免费软件山西格泰网站建设
  • 网站栏目变了怎么做跳转关键词网站排名查询
  • Android 集成指南:Google 登录、Facebook 登录 与 Firebase 深入接入(实战)
  • python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十)
  • hot 100 | 一文讲清动态规划
  • 操作简单稳定选巨 椰 云手机
  • 设计模式之:工厂方法模式
  • 西宁市精神文明建设网站餐饮店面装饰设计
  • 对营销网站建设评估及分析佛山顺德做网站
  • 高并发系统架构设计原则:无状态、水平扩展、异步化、缓存优先
  • 系统架构设计师备考第45天——软件架构演化评估方法和维护
  • 基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
  • 【MySQL】第二章 基本的SELECT语句
  • Linux中软中断tasklet任务队列初始化
  • 网站制作的重要流程世界优秀摄影作品网站
  • 技术剖析:智能体工作流与RPA流程自动化的架构差异与融合实现
  • 深圳比斯特自动化|圆柱电池测试设备核心功能与技术发展解析
  • 【软考备考】系统架构设计需要考虑的因素 性能 、安全、成本、可维护性详解知识点五