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

Python class中以`_`开头的类特殊方法

在学基础的时候没学到过(可能见过但是又忘了),在学习深度学习项目的时候遇见了很多;
以论文Multi-label learning from single positive label为例;
这些方法都是程序自行调用的,不需要(也不可以)手动调用,比如不可以写model.__init__()

init()

前后都有两个下划线_

class FCNet(torch.nn.Module):def __init__(self, num_feats, num_classes):super(FCNet, self).__init__()self.fc = torch.nn.Linear(num_feats, num_classes)def forward(self, x):x = self.fc(x)return x

这个比较简单,实在实例化的时候给对象赋初始值的;

getitem()

这个是在对象通过[]运算时会调用的方法;

class FCNet(torch.nn.Module):def __init__(self, num_feats, num_classes):super(FCNet, self).__init__()self.fc = torch.nn.Linear(num_feats, num_classes)def forward(self, x):x = self.fc(x)return xdef __getitem__(self, x):print("hello!")return

(上面的__getitem__没什么含义,只是为了举例子)
在程序中写:

model = FCNet()
model['hh']

看打印出来是什么;

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

相关文章:

  • 2023云栖大会开幕:全球数万开发者参会,展现AI时代的云计算创新
  • [量化投资-学习笔记004]Python+TDengine从零开始搭建量化分析平台-EMA均线
  • KaiwuDB 获山东省工信厅“信息化应用创新优秀解决方案”奖
  • Python-常用的量化交易代码片段
  • Netty优化-rpc
  • 【Docker 内核详解】cgroups 资源限制(一):概念、作用、术语
  • MATLAB——一维小波的多层分解
  • C++的拷贝构造函数
  • 【手机端远程连接服务器】安装和配置cpolar+JuiceSSH:实现手机端远程连接服务器
  • Jupyter Notebook的使用
  • vue 使用vue-office预览word、excel,pdf同理
  • 【Spring Boot 源码学习】RedisAutoConfiguration 详解
  • Linux中如何进行粘贴复制
  • 多输入多输出 | Matlab实现k-means-LSTM(k均值聚类结合长短期记忆神经网络)多输入多输出组合预测
  • 学习笔记3——JVM基础知识
  • 图像处理:图片二值化学习,以及代码中如何实现
  • 如果你点击RabbitMQ Service - start了,但http://localhost:15672/#/还是访问不了,那么请看这篇博客!
  • Shell 脚本学习 day01
  • esp32 rust linux
  • 一文了解Elasticsearch
  • 一篇文章认识【性能测试】
  • linux环境mysql安装配置踩坑
  • 相关性网络图 | 热图中添加显著性
  • cocosCreator 之 微信小游戏授权设置和调用wxAPI获取用户信息
  • element ui el-table表格纵向横向滚动条去除并隐藏空白占位列
  • 防止python进程重复执行
  • LV.12 D13 C工程与寄存器封装 学习笔记
  • Java SE 学习笔记(十九)—— XML、设计模式
  • grafana InfluxDB returned error: error reading influxDB 400错误解决
  • 【LeetCode:150. 逆波兰表达式求值 | 栈】