I want to initialize a network which contains linear layers, convolutional layers, pooling and so on.
My current method of initialization looks like:
params = list(model.parameters())     
    for i in range(0,len(params)):
        val = params[i].data.ndim
        if (val > 1):
            torch.nn.init.xavier_uniform_(params[i])

Is this a good way of initializing the weights or is there a better general method?