人工智能 作业1:PyTorch实现反向传播

人工智能 作业1:PyTorch实现反向传播,第1张

这里写自定义目录标题
  • 安装Pycharm
    • 安装Python
    • 安装Pycharm
  • 安装Pytorch
  • 实现反向传播

安装Pycharm 安装Python

进入python官网python.org,点击Downloads

选择一个需要的python版本进行下载安装安装完成的界面如图所示

安装Pycharm

进入官网pycharm
选择一个版本进行下载,其中Community是社区版,免费使用

勾选需要的选项,点击Next

安装完成后,双击打开即可

安装Pytorch

进入Pytorch官网pytorch.org

按自己的情况进行选择,生成安装指令

打开cmd命令控制台,输入指令,等待安装完成即可

如何查看是否安装成功?
打开CMD控制台,输入pip list,有torch即为安装成功

实现反向传播
import torch
import numpy as np
import matplotlib.pyplot as plt

x_data = [1.0, 2.0, 3.0]
y_data = [2.0, 4.0, 6.0]
w = torch.Tensor([1.0]) 
w.requires_grad = True 

def forward(x):
    return x * w
def loss(x, y):
    y_pred = forward(x)
    return (y_pred - y) ** 2

lo = []
for epoch in range(100):
    for x, y in zip(x_data, y_data):
        l = loss(x, y)
        l.backward()
        print("\tgrad: ", x, y, w.grad.item())
        w.data = w.data - 0.0015 * w.grad.data
        w.grad.data.zero_()
    lo.append(l.item())
    print("pregress:", epoch, l.item())

x = np.arange(0.0, 100, 1)
print(len(lo))

plt.scatter(x, lo,c='red',label='图示')
plt.legend(markerscale = 1)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.xlabel(u"迭代的次数")
plt.ylabel(u"损失的函数值")
plt.ylim(0,)
plt.show()

得出结果如图所示

参考资料或文章:
【2021-2022 春学期】人工智能-作业1:PyTorch实现反向传播
06 Pytorch实现反向传播

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/797309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存