Pytorch 线性回归 grad清零报错:w.grad.data.zero_() AttributeError: 'NoneType' object has no attribute 'data'

在学习Pytorch线性回归时遇到AttributeError:'NoneType' object has no attribute 'data'的问题。错误源于尝试对None类型的变量调用.data.zero_()。解决方法包括确保在for循环最后进行梯度清零,或者在循环前先进行一次训练。教程中的loss打印也需要修正为loss.item()。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习了https://github.com/L1aoXingyu/code-of-learn-deep-learning-with-pytorch/blob/master/chapter3_NN/linear-regression-gradient-descend.ipynb   上的Pytorch线性回归这一章,自己复了一遍代码后,再删去了一些人为学习型的输出和plot画图代码后报错 

w.grad.data.zero_()

AttributeError: 'NoneType' object has no attribute 'data'

 

很明显。问题出在梯度清零上。

以下是错误代码

import torch
import numpy as np
from torch.autograd import Variable
import matplotlib.pyplot as plt

torch.manual_seed(2017)


w_target = np.array([0.5, 3, 2.4]) # 定义参数
b_target = np.array([0.9]) # 定义参数

x_sample=np.arange(-3,3.1,0.1)
y_sample=b_target[0] + w_target[0] *x_sample+w_target[1]*x_sample**2 +w_target[2]*x_sample**3


x_train=np.stack([x_sample ** i for i in range(1,4)],axis&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值