what is the first initialized weight in pytorch convolutional layer
I do self-studying in Udacity PyTorch
Regarding to the last paragraph

Learning
In the code you've been working with, you've been setting the values of filter weights explicitly, but neural networks will actually learn the best filter weights as they train on a set of image data. You'll learn all about this type of neural network later in this section, but know that high-pass and low-pass filters are what define the behavior of a network like this, and you know how to code those from scratch!
In practice, you'll also find that many neural networks learn to detect the edges of images because the edges of object contain valuable information about the shape of an object.

I have studied all through the last 44th sections. But I couldn't be able to answer the following questions

What is the initialized weight when I do torch.nn.Conv2d? And how to define it myself?
How does PyTorch update weights in the convolutional layer?


When you declared nn.Conv2d the weights are initialized via this code. 

In particular, if you give bias it uses initialization as proposed by Kaiming et.al. It initializes as uniform distribution between (-bound, bound) where bound=\sqrt{6/((1+a^2)fan_in)} (See here).

You can initialize weight manually too. This has been answered elsewhere (See here) and I won't repeat it. 

When you call optimizer.step and optimizer has parameters of convolutional filter registered they are updated. 
