概要: 采用nni进行Speed Up的时候,报错ValueError: Modules that have backward hooks assigned can’t be compiled: Conv2d(3, 18, kerne)
确定问题:
错误提示含义大致为模型有backward hook,无法编译。定位到代码里:
self.p_conv.register_backward_hook(self._set_lr)
代码原形为torch.nn.Module.register_backward_hook,针对nn.Module这个对象,作用为提取中间层参数,比如梯度之类的。详细介绍参考pytorch笔记:pytorch中的钩子(Hook)有何作用?_Activewaste-CSDN博客_hook pytorch
解决方案:
我只能注释掉这段代码,还好它对我的模型没有影响。其实最好把问题的原因搞清楚,但目前的产能有限,只能搁置一旁。
文章出处登录后可见!
已经登录?立即刷新