Hi,

I was wondering if there was a standard way to initialize various layers in PyTorch.

For example, I have used something like this for `linear`

and `conv`

layers (please correct me if this is incorrect) :

```
def _weights_init(m):
if isinstance(m, (nn.Conv2d, nn.Linear)):
init.xavier_normal_(m.weight)
# m.bias.data.zero_()
elif isinstance(m, (nn.BatchNorm2d, nn.BatchNorm1d)):
m.weight.data.fill_(1)
m.bias.data.zero_()
```

Similarly, what is the best way to initialize recurrent layers (such as LSTMs and GRUs)?

Thanks!