youzhonghui/gate-decorator-pruning

cloned.module.linear = FinalLinearObserver(cloned.module.linear)

cvJie opened this issue · 2 comments

cvJie commented

Hi,
我自己的模型最后一层不是linear,而是自己构建的其他模块名字。我应该怎么替换它呢?
如果我直接注释这一行代码的话,会出现如下错误:
ndexError: index 0 is out of bounds for dimension 0 with size 0
谢谢

我增加了一个vgg16的例子,可以供你参考一下。

pack.net.module.classifier = FinalLinearObserver(pack.net.module.classifier)

如果最后一层不是Linear的话,可能需要自己实现处理代码(这边只提供了最后是Linear的代码)。原因是之前的卷积层Filter变少了,那么最后一层输入的特征图的尺寸就变了,所以需要处理。