Hello everyone.
Let’s say I wanted to use a torch function such as
torch.range(1, X, 0.5)
to initialize my weights for all CNN layers, where X
would need to be flexlibe depending on size of CNN filters. How can I do so?
With nn.init it was very easy; I would just find the method I want to use within init library and just feed in the layer weights as a parameter to the method.
For example:
def init_weights(m):
if type(m) == nn.Conv2d:
torch.nn.init.uniform_(m.weight) # initialize weights with uniform weights
It seems vanilla torch has a more extensive collection of methods to help me come up with a more customized initialization.
The above range
method is just a contrived example, but it will help me understand how to create my own initialization method using vanilla Pytorch methods.
I’m sorry if this question has been asked already.