Author:龙箬
Computer Application Technology
Change the World with Data and Artificial Intelligence !
CSDN@weixin_43975035
人类从历史中学到的唯一的教训,就是人类没有从历史中吸取任何教训。

import torch
import torch.nn.functional as F

# 定义输入样本数值
X1 = torch.tensor(1)
X2 = torch.tensor(2)
Y = torch.tensor(2)
Lr = 0.01

# 参数初始化
w1_11 = torch.tensor(1.,requires_grad=True)
w1_12 = torch.tensor(1.,requires_grad=True)
w1_21 = torch.tensor(1.,requires_grad=True)
w1_22 = torch.tensor(-1.,requires_grad=True)
w2_11 = torch.tensor(1.,requires_grad=True)
w2_21 = torch.tensor(-1.,requires_grad=True)

𝜽1_11, 𝜽1_12, 𝜽2_11 = torch.tensor([1.,1.,1.],requires_grad=True)

# 前向传播
y1_1 = w1_11*X1 + w1_21*X2 + 𝜽1_11
x2_1 = F.relu(y1_1)
y1_2 = w1_12*X1 + w1_22*X2 + 𝜽1_12
x2_2 = F.relu(y1_2)
A = w2_11*x2_1 + w2_21*x2_2 +𝜽2_11

# Loss
Loss = (A-Y).pow(2)/2

# 参数梯度
w1_11_grad = (A-Y)*w2_11*1*X1
print(w1_11_grad)

# 更新参数
w1_11 = w1_11 - Lr*w1_11_grad
print(w1_11)
import torch
import torch.nn.functional as F

# 定义输入样本数值
X1 = torch.tensor(1)
X2 = torch.tensor(2)
Y = torch.tensor(2)
Lr = 0.01

# 参数初始化
w1_11 = torch.tensor(1.,requires_grad=True)
w1_12 = torch.tensor(1.,requires_grad=True)
w1_21 = torch.tensor(1.,requires_grad=True)
w1_22 = torch.tensor(-1.,requires_grad=True)
w2_11 = torch.tensor(1.,requires_grad=True)
w2_21 = torch.tensor(-1.,requires_grad=True)

𝜽1_11, 𝜽1_12, 𝜽2_11 = torch.tensor([1.,1.,1.],requires_grad=True)

# 前向传播
y1_1 = w1_11*X1 + w1_21*X2 + 𝜽1_11
x2_1 = F.relu(y1_1)
y1_2 = w1_12*X1 + w1_22*X2 + 𝜽1_12
x2_2 = F.relu(y1_2)
A = w2_11*x2_1 + w2_21*x2_2 +𝜽2_11

# Loss
Loss = (A-Y).pow(2)/2

Loss.backward()
print(w1_11.grad)

with torch.no_grad():
    w1_11 -= Lr*w1_11.grad

print(w1_11)

执行结果如下:
在这里插入图片描述

如有侵权,请联系侵删
需要本实验源数据及代码的小伙伴请联系QQ:2225872659

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐