Solved by inkplay in post #5 
              
              
                I think you are confusing your self, kernels in conv2d are already randomly defined for you. 
You can check this by doing this: 
X = nn.Conv2D( 1, 1, 3, 1, 1) #  ( input_c, output_c, k_size, stride, padding ), k_size can be (3,3) or 3 
X.weight # a single 3 x 3 kernel, if you want to output more ker…