人工智能---pytorch反向传播

一.安装python

1.从官网上下载pycharm
请添加图片描述
选择Community版本,按照默认来连点确认即可
请添加图片描述
2.安装python解释器请添加图片描述
进入官网点击下载本人选择windows版本请添加图片描述
在此界面中选择 Windows installer,并在随后安装中选择自定义路径请添加图片描述
并且添加环境变量

随后选择默认选项,等待安装完成。

完成后在命令窗口测试是否安装成功。
请添加图片描述
如图显示安装成功。

二.安装pytorch

1.查找英伟达驱动版本号:请添加图片描述
2.根据版本号选择pytorch对应版本,我是最新版请添加图片描述
复制 Run this Command 中内容,并在命令框中打开请添加图片描述
因为我成功下载完成,当最后出现succesfully installed 说明已完成安装。

三.在pycharm中进行测试请添加图片描述

点击file中的setting请添加图片描述
选择python interpret 点击右上角设置,选择show all
请添加图片描述
在出现页面请添加图片描述
将上方两个选项打上勾。在选择OK至此成共创建pytorch环境。请添加图片描述
然后输入如下代码,测试是否成功:

from __future__ import print_function
import torch
x =  torch.empty(5,3)
print(x)

请添加图片描述
出现如下界面显示成功。

四. 反向传播

1.使用pythorch实现反向传播
请添加图片描述

import torch
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
# 权重初始值(设置w的初始值),在grad求导时会将这里设置的初始值带入
# Tensor创建时默认不计算梯度,需要计算梯度设置为ture,自动记录求w的导

# y_predict = x * w
def forward(x):
    return x * w
# 损失函数,return激活函数后得到的
def loss(x,y):
    y_pred = forward(x)
    return (y_pred - y) ** 2

# 训练过程
# 第一步:先算损失Loss
# 第二步:backward,反向传播
# 第三步:梯度下降
for epoch in range(100):    #训练100次
    for x, y in zip(x_data,y_data) :
        l = loss(x,y)           # 前向传播,求Loss(损失函数),构建计算图
        l.backward()            # 反向传播,求出计算图中所有梯度存入w中
        print("\tgrad: ",x,y,w.grad.item())
                                # w.grad.data:获取梯度,用data计算,不会建立计算图,每次获取叠加到grad
        w.data = w.data - 0.01 * w.grad.data     # 修正一次w,learningrate=0.01(类似步长

        w.grad.data.zero_()     # 注意:将w中记录的梯度清零,消除本次计算记录,只保留新的w,开启下一次前向传播
    print("pregress:", epoch, l.item()) # item取元素精度更高,得到的是loss

最后出现结果如下:
请添加图片描述
详情参考:篮子娃娃博客 06 Pytorch实现反向传播

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值