module is a reference to the model that is packed inside nn.DataParallel.
.modules() is a method inherited from nn.DataParallel's parent nn.Module.
Refer this post for more info:

  
    
    
    Module.children() vs Module.modules() 
  
  
    If you want to recursively iterate over modules, then you want to use .modules() 
For example, in the following network 
m = nn.Sequential(nn.Linear(2,2), 
                  nn.ReLU(),
                  nn.Sequential(nn.Sigmoid(), nn.ReLU()))

calling m.children() will return 
[Linear (2 -> 2), ReLU (), Sequential (
   (0): Sigmoid ()
   (1): ReLU ()
 )]

which means that it does not go inside the second Sequential, and thus does not print individually Sigmoid. On the other hand, m.modules() rec…