we can implement weight sharing among the innermost layers by simply reusing the same Module multiple times when defining the forward pass. please see https://pytorch.org/tutorials/beginner/examples_nn/dynamic_net.html#pytorch-control-flow-weight-sharing 553