測試代碼:
import torch.nn as nn
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(10, 20, 4)
self.conv2 = nn.Conv2d(20, 40, 4)
model = Model()
for m in model.modules():
print(m)
結果:
Model( (conv1): Conv2d(10, 20, kernel_size=(4, 4), stride=(1, 1)) (conv2): Conv2d(20, 40, kernel_size=(4, 4), stride=(1, 1)) ) Conv2d(10, 20, kernel_size=(4, 4), stride=(1, 1)) Conv2d(20, 40, kernel_size=(4, 4), stride=(1, 1))
結論:
modules()返回一個包含 當前模型 所有模塊的迭代器。