如何用pytorch计算layers或者modles的macs和parameters
举个例子
class model(nn.Module)
def __init__()
self.l1 = nn.linear(10,10)
self.l2 = nn.linear(10,10)
def forward(x)
y1 = self.l1(x)
y2 = self.l2(x)
y3 = y1 + y2
return y2 + y2 + y3*y1
在这个例子中,我可以用forward_hook functions去跟中不同的layers和他们的变量,比如linear1和linear2.fn是钩子函数,钩在每一个子模块中。
m.register_forward_hook(fn)
但, y3
并没有纳入parameter中,因为是不在nn.module中的变量而是forwad中自己定义的变量。 而且 y2 + y2 + y3*y1
的计算也没有被统计.\
请问如何解决?\
macs是一种统计网络复杂度的方式. For example, y1 *(y2 + y3) is one macs, if y1, y2, y3 are floats.
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
-
pytorch调用geforce rtx 3060 2021-10-24
-
pytorch中如何实现多模型的并联 2021-09-15
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论