pytorch中model.modules()和model.children()的区别

  • Post author:
  • Post category:其他


model.modules()和model.children()均为迭代器,model.modules()会遍历model中所有的子层,而model.children()仅会遍历当前层。

使用:

for key in model.modules():
    print(key)
# model.modules()类似于 [[1, 2], 3],其遍历结果为:
[[1, 2], 3], [1, 2], 1, 2, 3

# model.children()类似于 [[1, 2], 3],其遍历结果为:
[1, 2], 3

也就是说,用model.children()进行初始化参数时,可能会漏掉部分,用model.modules()会遍历所有层

reference:

https://discuss.pytorch.org/t/module-children-vs-module-modules/4551



版权声明:本文为weixin_42287851原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。