【代码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)

运行结果

相关推荐
钓了猫的鱼儿10 分钟前
基于深度学习+AI的水下目标目标检测与预警系统(Python源码+数据集+UI可视化
人工智能·深度学习·智能手机
凌冰_19 分钟前
IDEA 集成Claude Code
java·ide
山屿落星辰3 小时前
ops-nn - 神经网络算子性能秘籍
人工智能·深度学习·神经网络
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-05-22
人工智能·经验分享·深度学习·神经网络·产品运营
独隅3 小时前
PyCharm 接入 Codex 的全面指南
ide·python·pycharm
钓了猫的鱼儿4 小时前
基于深度学习+AI的玩手机行为目标检测与预警系统(Python源码+数据集+UI可视化界面+YOLOv11训练结果)
人工智能·深度学习·智能手机
解局易否结局4 小时前
从零上手 ops-transformer:一个有清晰路径感的学习计划
深度学习·学习·transformer
z小猫不吃鱼4 小时前
15 BEiT 论文精读:BERT Pre-Training of Image Transformers
人工智能·深度学习·bert
茗创科技4 小时前
脑室周围扩散率(PVeD)专题:一种评估类淋巴系统功能的DTI新方法(附高分文献下载)
深度学习·机器学习·matlab·脑网络
Uranus^5 小时前
大模型/深度学习/机器学习绘图模板(PPT格式)
人工智能·深度学习·机器学习·ai