Recentelly I find nn.Module cannot set some objects as its attributes.for example
class Example(nn.Module):
    def set(self):
        # seq is instance of nn.Sequential
        list = [seq1,seq2,seq3]
        self.__setattr__('exp',list)

when using __getattr__, it will return

AttributeError: ‘Example’ object has no attribute ‘exp’

I figure it out by replacing list with nn.ModuleList but what is the purpose?