You could apply all child modules, if the model would generally work in an nn.Sequential container.
The model would thus have to define only nn.Modules in its __init__ method and apply these modules sequentially.
However, this is often not the case and the forward method often uses functional calls such as x.view() etc., especially if the model architecture is more complicated then a simple stack of layers.
The densenet you are using is for example applying these calls from the functional API, which are lost if you just try to call the modules.