Hello,
l would like to print the weights of a specific layer which is implemented manually with autograd. It is called my_autograd_function().
I tried
print(net.my_autograd_function.weight) but it doesn’t work, “net.my_autograd_function” is not recognized. Here is my code :
class my_autograd_function(torch.autograd.Function):
    def forward(self,W,x):  
        self.save_for_backward(W, x)
        y = torch.mm(W, x)
        return y
    
    def backward(self, grad_output):
        W, x = self.saved_tensors 
        grad_input = grad_output.clone()
        grad_input_dL_dW = torch.mm(grad_input, x.t()) 
        grad_input_dL_dx = torch.mm(W.t(), grad_input )
        return grad_input_dL_dW, grad_input_dL_dx



class model(nn.module):
	def __init__(self, model_parameters):
           # self.layer1
	   # self.layer2
           # self.layer3
         def forward(self,x):
            x=layer1(x)
            x=layer2(x)
	    x=my_autograd_function()(x,Z)
            x=layer3(x)
	    return x

if __name__ == '__main__':

net=model()

print(net.layer1.weight) # it works
print(net.layer2.weight) # it works
print(net.layer3.weight) # it works
print(net.my_autograd_function.weight) # it doesn't work   "net.my_autograd_function" is not recognized