一.安装python
1.从官网上下载pycharm
选择Community版本,按照默认来连点确认即可
2.安装python解释器
进入官网点击下载本人选择windows版本
在此界面中选择 Windows installer,并在随后安装中选择自定义路径
并且添加环境变量
随后选择默认选项,等待安装完成。
完成后在命令窗口测试是否安装成功。
如图显示安装成功。
二.安装pytorch
1.查找英伟达驱动版本号:
2.根据版本号选择pytorch对应版本,我是最新版
复制 Run this Command 中内容,并在命令框中打开
因为我成功下载完成,当最后出现succesfully installed 说明已完成安装。
三.在pycharm中进行测试![请添加图片描述](https://img-blog.csdnimg.cn/e20b84b97d6f401e932e517b2a693f77.png)
点击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实现反向传播