锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / Python开发 / Python钩子、Pytorch模型剪裁中的Python钩子使用
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发

锐英源精品原创文章,禁止转载和任何形式的非法内容使用,违者必究


Python钩子、Pytorch模型剪裁中的Python钩子使用

 

Python是动态语言,怎么和低级的钩子有关系了呢?
现在,对应的钩子将为torch.nn.utils.prune.PruningContainer类型,并将存储应用于weight参数的剪裁历史。
for hook in module._forward_pre_hooks.values():
if hook._tensor_name == "weight": # select out the correct hook
break
print(module._forward_pre_hooks)
出:
OrderedDict([(0, <torch.nn.utils.prune.RandomUnstructured object at 0x7fda78275e48>), (1, <torch.nn.utils.prune.L1Unstructured object at 0x7fda80bbe470>)])
上图是Pytorch里帮助文档的内容
0x地址是函数地址


C语言函数指针

函数是在代码段里,要占用的内存,要占用内存就有地址
为了支持地址,就有了函数指针
Void (*myfunc)(void),没有参数且没有返回值的函数指针(*)是标志

 

回调

在另外的时间点,按约定调用
函数指针和C#委托都是回调的形式

 

钩子

常见的用于做坏事的windows键盘钩子和鼠标钩子
钩子也是一种回调
把钩子函数嵌入到底层执行过程里,底层执行到了,就会调用钩子函数

Python钩子

Pytorch里说的钩子,就是在配置参数时,回调的函数,指定了这函数,则配置参数过程执行时会按这个函数的要求来做。 原文的意思是对weight参数在传递时,进行变形,weight参数在神经网络里比较重要,是神经单元的入参。

总结

Python有难度,大家要重视。

Python在人工智能方面比较火,有兴趣学Python和人工智能欢迎联系我们。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内劳动服务器公司办公楼一层