lihaoyuaiqq130 2019-10-20 23:10 采纳率: 66.7%
浏览 4733
已结题

有关pytorch中梯度为None的情况

一直在用现成的框架写东西,这几天有空心血来潮想自己写个简单的神经网络,结果不知道怎么回事backward到第二步的时候w1.grad和w2.grad都是None
求各位解答:

import torch
import numpy as np
N, D_in, H, D_out = 64, 1000, 100, 10
learning_rate = 1e-6
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
w1 = torch.randn(D_in, H)
w2 = torch.randn(H, D_out)

learning_rate = 1e-6
for it in range(500):
    w1=w1.requires_grad_()
    w2=w2.requires_grad_()
    # Forward pass
    y_pred = x.mm(w1).clamp(min=0).mm(w2)
    # compute loss
    loss = (y_pred - y).pow(2).sum()  # computation graph
    print(it, loss.item())
    # Backward pass
    loss.backward()
    w1=(w1-learning_rate*w1.grad)
    w2=(w2-learning_rate*w2.grad)

  • 写回答

4条回答

  • weixin_44218113 2020-12-30 15:49
    关注

    兄弟你这种情况解决了吗,我也遇到一样的情况了。。

     

    评论

报告相同问题?

悬赏问题

  • ¥60 Python如何后台操作Vmwake虚拟机键鼠
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容