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

【pytorch】relu的实现逻辑

笔者最近在尝试实现AlexNet的底层算子,基于pytorch的框架,本文主要记录一下pytorch中是如何实现relu算子的。
首先最外层是位于torch\nn\modules\activation.py,主要代码如下:

    __constants__ = ["inplace"]inplace: booldef __init__(self, inplace: bool = False):super().__init__()self.inplace = inplacedef forward(self, input: Tensor) -> Tensor:return F.relu(input, inplace=self.inplace)def extra_repr(self) -> str:inplace_str = "inplace=True" if self.inplace else ""return inplace_str

调用的是位于torch\nn\functional.py的如下代码:

def relu(input: Tensor, inplace: bool = False) -> Tensor:  # noqa: D400,D402r"""relu(input, inplace=False) -> TensorApplies the rectified linear unit function element-wise. See:class:`~torch.nn.ReLU` for more details."""if has_torch_function_unary(input):return handle_torch_function(relu, (input,), input, inplace=inplace)if inplace:result = torch.relu_(input)else:result = torch.relu(input)return result

然后调用的是aten\src\ATen\native\Activation.cpp的如下代码:

Tensor relu(const Tensor & self) {TORCH_CHECK(self.scalar_type() != at::kBool, "Boolean inputs not supported for relu");return at::clamp_min(self, 0);
}

可以看到,主要就是一个大小的比较。

pytorch调试工具

先说问题,只能看到python的处理逻辑,不能看到底层的C++的处理逻辑。
如何使用,参考的是这篇文章。注意,pdb虽然是python内置的包,但是仍然需要通过import pdb导入才能使用。

还有一个问题就是,pytorch是如何通过python代码调用C++代码的,留到下一篇博文更新。

http://www.lryc.cn/news/445767.html

相关文章:

  • 【Python篇】深入机器学习核心:XGBoost 从入门到实战
  • 简单学习 原码反码补码 学会了你才是真正的程序员了
  • 基于规则的命名实体识别
  • C语言从头学63—学习头文件stdlib.h(二)
  • js判断一个对象里有没有某个属性
  • Python(爬虫)正则表达式
  • Linux:进程(二)
  • 【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第二篇-着色器制作】
  • 【OceanBase 诊断调优】—— GC问题根因分析
  • 图像面积计算一般方法及MATLAB实现
  • 指挥平台在应急场所中的主要表现有哪些
  • 智能养殖场人机交互检测系统源码分享
  • 数据集-目标检测系列-海洋鱼类检测数据集 fish>> DataBall
  • 网络威慑战略带来的影响
  • 决策树算法在机器学习中的应用
  • Leetcode面试经典150题-39.组合总数进阶:40.组合总和II
  • ProcessOn为什么导出有水印!!!(利用SVG转PNG)
  • 插入、更新与删除MySQL记录
  • 【ARM】armv8的虚拟化深度解读
  • 9/24作业
  • Leetcode 106. 从中序与后序遍历序列构造二叉树
  • 针对考研的C语言学习(定制化快速掌握重点1)
  • 【大数据入门 | Hive】DDL数据定义语言(数据库DataBase)
  • CNVD漏洞和证书挖掘经验总结
  • 阿里rtc旁路推流TypeScript版NODE运行
  • 计算机书籍分享
  • 处理ASAM-MDF格式的开源python库asammdf
  • 物业管理小程序开发
  • 【Vue】Pinia
  • 帕金森病患者的生命长度:科学管理与乐观心态是关键