

The forward pass of your model should be fully written in the modeling file while being fully independent of other
   models in the library. If you want to reuse a block from another model, copy the code and paste it with a
   # Copied from comment on top (see here
   for a good example and there for more documentation on Copied from). 
The code should be fully understandable, even by a non-native English speaker. This means you should pick
   descriptive variable names and avoid abbreviations. As an example, activation is preferred to act.
   One-letter variable names are strongly discouraged unless it's an index in a for loop.
More generally we prefer longer explicit code to short magical one.
Avoid subclassing nn.Sequential in PyTorch but subclass nn.Module and write the forward pass, so that anyone
   using your code can quickly debug it by adding print statements or breaking points.
Your function signature should be type-annotated. For the rest, good variable names are way more readable and
   understandable than type annotations.