This got me a bit confused.
for group_param in optimizer.param_groups:
    for param in group_param["params"]:
        for each_set in param:
            pass

The first iteration of  group_param["params"] returns the tensor A with  size (32,1,3,3) which doesn’t have grad_fn and when I iterate through  tensor A ,each one of them with size (1,3,3) has grad_fn.
But doesn’t this tensor A is just 32 sets of 3*3 filters for convolution layer?Why tensor A  is not leaf Tensor and A[idx] where idx is 0-31 is a leaf tensor? What’s a big picture of this ? Thanks