Issue
I am following this notebook:
One of the method:
def init_hidden(self, batch_size):
''' Initializes hidden state '''
# Create two new tensors with sizes n_layers x batch_size x n_hidden,
# initialized to zero, for hidden state and cell state of LSTM
weight = next(self.parameters()).data
if (train_on_gpu):
hidden = (weight.new(self.n_layers, batch_size, self.n_hidden).zero_().cuda(),
weight.new(self.n_layers, batch_size, self.n_hidden).zero_().cuda())
else:
hidden = (weight.new(self.n_layers, batch_size, self.n_hidden).zero_(),
weight.new(self.n_layers, batch_size, self.n_hidden).zero_())
return hidden
I would like to see what type of weight is and how to use new()
method, so I was trying to find out the parameters()
method as the data attribute comes from paramerters()
method.
Surprisingly, I cannot find where it comes from after reading the source code of nn module in PyTorch.
How do you figure out where to see the definition of methods you saw from PyTorch?
Solution
so I was trying to find out the parameters() method as the data attribute comes from paramerters() method. Surprisingly, I cannot find where it comes from after reading the source code of nn module in PyTorch.
You can see the module definition under torch/nn/modules/module.py
here at line 178.
You can then easily spot the parameters()
method here.
How do you guys figure out where to see the definition of methods you saw from PyTorch?
The easiest way that I myself always use, is to use VSCode's Go to Definition
or its Peek -> Peek definition
feature.
I believe Pycharm has a similar functionality as well.
Answered By - Hossein
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.