model.modules()和model.children()均為迭代器,model.modules()會遍歷model中所有的子層,而model.children()僅會遍歷當前層。
# 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()會遍歷所有層
參考鏈接:https://discuss.pytorch.org/t/module-children-vs-module-modules/4551