【代码pycharm】动手学深度学习v2-07 自动求导

老师上课用jupyter 我边听边用pycharm写的

python 复制代码
import torch
print('1.自动梯度计算')
x=torch.arange(4.0,requires_grad=True)  # 1.将梯度附加到想要对其计算偏导数的变量
print('x:', x)
y=2*torch.dot(x,x) # 2.记录目标值的计算
print('y:', y)
y.backward()   # 3.执行它的反向传播函数
print('x.grad:',x.grad) # 4.访问得到的梯度
print('x.grad == 4*x:',x.grad==4*x)
print('2.计算另一个函数')
x.grad.zero_()
y=x.sum()
y.backward()
print('x.grad:',x.grad)
print('3.非标量变量的反向传播')
x.grad.zero_()
y=x*x
y.sum().backward()
print('x.grad:',x.grad)
print('4.将某些计算移动到记录的计算图之外')
x.grad.zero_()
y=x*x
u=y.detach()
z=u*x
z.sum().backward()
print('x.grad==u:',x.grad==u)
x.grad.zero_()
y.sum().backward()
print('x.grad==2*x:',x.grad==2*x)
print('5.Python控制流的梯度计算')
def f(a):
    b=a*2
    while b.norm()<1000:
        b=b*2
    if b.sum()>0:
        c=b
    else:
        c=100*b
    return c
a=torch.randn(size=(),requires_grad=True)
d=f(a)
d.backward()
print('6.a.grad==d/a',a.grad==d/a)

运行结果

相关推荐
LaughingZhu6 小时前
Product Hunt 每日热榜 | 2026-07-27
人工智能·深度学习·神经网络·搜索引擎·产品运营
万里鹏程转瞬至6 小时前
论文简读:Boogu-Image 图像生成与编辑模型
论文阅读·深度学习·aigc
不懒不懒7 小时前
路面类型识别 — CNN-LSTM 完整流程:基于车辆振动数据的端到端深度学习
深度学习·cnn·lstm
SimpleLearingAI8 小时前
DiT:Diffusion Transformer原理简介
人工智能·深度学习·transformer
phltxy9 小时前
LangChain_Agent中间件实战
人工智能·python·深度学习·语言模型·中间件·langchain
workflower10 小时前
从幻觉,到现实
人工智能·深度学习·机器学习·设计模式·机器人
gongzhxu10 小时前
JetBrains IDEA开发环境搭建
java·ide·intellij-idea
伍树明10 小时前
NER 序列标注横向评测:BERT (Linear/CRF) VS 大模型 LoRA 微调 + API 方案实测对比
人工智能·深度学习·bert
独隅11 小时前
DevEco Code Plan+Build 双 Agent 协同开发实效解析
ide·华为
盼小辉丶11 小时前
PyTorch强化学习实战(20)——优势演员-评论家(Advantage Actor-Critic, A2C)
pytorch·深度学习·强化学习·优势演员-评论家算法