title: Adding modules in Pytorch Custom Module
body: <p>Is it considered bad practice to add modules to a custom pytorch <code>nn.Module</code> using <code>self.add_module()</code>? All of the documentation seems to assign the layers to properties, then access them in the <code>forward()</code> method.</p>
  
  <p>For example:</p>
  
  <pre><code>class ConvLayer(nn.Module):
      def __init__(self):
          self.add_module('conv',nn.Conv2d(...))
          self.add_module('bn',nn.BatchNorm2d(...))
  </code></pre>