Hey,guys.I’m a beginner of machine learning and pytorch.Now i’m follow a chinese guide video but meet a problem i can’t solve.I follow the teacher and create a sample nn in a stupid way but when i train it ,my grad become “Nonetype” and i don’t know how to do.Here is my code :

n,input,h,output=64,1000,100,10

x=torch.randn(n,input)

y=torch.randn(n,output)

w1=torch.randn(input,h,requires_grad=True)

w2=torch.randn(h,output,requires_grad=True)

learningrate=0.000001

for t in range(500):

#forward

h=x.mm(w1)

h_relu=h.clamp(min=0)

y_pred=h_relu.mm(w2)

```
#loss
loss=(y_pred-y).pow(2).sum()
print(t,loss.item())
#backward
loss.backward()
with torch.no_grad():
w1=w1-learningrate*w1.grad.data
w2=w2-learningrate*w2.grad.data
w1.grad.zero_()
w2.grad.zero_()
```

AttributeError Traceback (most recent call last)

in

35 w1=w1-0.00001*w1.grad.data
36 w2=w2-0.00001*w2.grad.data

—> 37 w1.grad.zero_()

38 w2.grad.zero_()

39

AttributeError: ‘NoneType’ object has no attribute ‘zero_’

I will be very grateful if some master give me a hand and show me the way to dell with the problem.