当前位置: 首页 > news >正文

英文外贸网站制作郑州seo服务公司

英文外贸网站制作,郑州seo服务公司,建设银行手机银行下载官方网站下载,移动知识库管理系统一、自动微分概念 自动微分(Automatic Differentiation,AD)是一种利用计算机程序自动计算函数导数的技术,它是机器学习和优化算法中的核心工具(如神经网络的梯度下降)。 计算梯度的目的是更新权重w和b&am…

一、自动微分概念

自动微分(Automatic Differentiation,AD)是一种利用计算机程序自动计算函数导数的技术,它是机器学习和优化算法中的核心工具(如神经网络的梯度下降)。

计算梯度的目的是更新权重w和b,\theta _{1}=\theta _{0}-lr*value,其中value是梯度值,学习率需要提前指定,求导计算梯度,前面我们学过了手动求导,这次使用自动微分的方法,来简化我们的工作量。

注意:

1. w和b一定是可自动微分的张量,类型是浮点型,超参数requries_grad=Ture表示允许自动微分。

2. detach():自动微分的张量不能转换成numpy数组, 通过 张量.detach().numpy() 剥离成不自动微分后可以转换。detach()返回一个与当前张量共享数据的新张量,该张量是不开启自动微分的,不参与梯度计算。

    clone():返回一个与当前张量数据相同的新张量,默认开启自动微分,但新张量拥有独立的存储。

3. 默认梯度是累加的,所以多轮中每个轮次需要在自动微分之前进行清零!!!

4. 查看张量底层数据地址时推荐使用 张量名.data_ptr() 

import torch# TODO 单轮
#定义权重,并开启自动微分
w = torch.tensor([10,20],requires_grad=Ture,dtype=torch.float)
#定义损失函数(loss,cost,criterion...)
loss = 2 * w**2
#自动微分求梯度,自动更新梯度
loss.sun().backward()
#手动更新权重
w.data = w.data - 0.01*w.grad# TODO 多轮
#定义权重,并开启自动微分
w = torch.tensor([10,20],requires_grad=Ture,dtype=torch.float)
#定义遍历轮次
epochs = 500
for epoch in range(epochs):loss = 2 * w**2# 默认梯度是累加的,所以每轮需要在自动微分之前进行清零if w.grad is not None:w.grad.zero_()loss.sum().backward()# 格式化输出print(f"当前轮次:{epoch + 1} 当前权重: {w.data},固定学习率:{0.01} 更新后梯度: {w.grad},下一个权重: {w.data - 0.01 * w.grad}")#手动更新权重w.data = w.data - 0.01*w.grad

推导w和b的方法:

import torch
x = torch.ones(2, 5)
y = torch.zeros(2, 3)
w = torch.randn(5, 3, requires_grad=True)
b = torch.randn(3, requires_grad=True)# 1.首先获取损失函数
loss_fn = torch.nn.MSELoss()
# 2.然后,计算预测值-> z=wx+b 注意: 这里面的wx是矩阵乘法,需要遵循 (n,m)*(m,p)=(n,p)
z = x.matmul(w) + b
# 3.接着,根据损失函数计算损失值
loss = loss_fn(z, y)
# 4.最后,反向传播推导更新梯度
loss.sum().backward()# 5.打印结果
print(f'w.grad: {w.grad}')
print(f'b.grad: {b.grad}')

二、 反向传播及案例

正向传播:从输入到输出,目的是预测结果和损失值;

反向传播:从输出到输入,更新参数做出优化。

案例:使用pytorch构建一个回归模型

步骤:

1.获取数据集,提前封装数据为张量

2.模型训练预测以及计算损失值

3.绘制损失曲线以及预测和真实值的拟合线

from sklearn.datasets import make_regression
import torch
from torch.utils.data import DataLoader, TensorDataset
from torch.nn import Linear, MSELoss
from torch.optim import SGD
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 1.获取数据集,提前封装成张量
def get_data():X,y,coef = make_regressionn(n_samples=100,n_features=1,n_targets=1,noise=10,random_state=1,coef=Ture,bias=14.5)X = torch.tensor(X,dtype=torch.float32)y = torch.tensor(y,dtype=torch.float32)return X,y,coef# 2.模型训练预测及损失值计算
def get_model_and_loss_list(x, y, epochs):# 2.1 处理数据封装为数据加载器,为了分批次训练,避免内存溢出dataloader = DataLoader(TensorDataset(x,y),batch_size = 5,shuffle=Ture)# 2.2 创建模型对象,为了模型预测model = Linear(in_features=1,out_features=1)# 2.3 创建损失函数对象,为了计算损失值loss_fn = MSELoss()# 2.4 创建SGD优化器对象,为了更新模型参数optimizer = SGD(model.parameters(),lr=0.03)# 2.5 模型训练预测和计算损失# 2.5.1 定义一个空列表,用于保存每轮损失值,再定义累加损失和批次,用于计算每轮的损失值loss_list,total_loss,batch_cnt = [],0.0,0# for循环,外循环轮次,内循环批次for epoch in range(epochs):for batch_x,batch_y in dataloader:# [重点] 正向传播# 计算预测值y_predict = model(batch_x)# 计算损失值,MSE计算要求形状必须一致,否则自动广播会出现无效计算loss = loss_fn(y_predict,batch_y.reshape(-1,1))# 累加损失和批次total_loss += loss.item()batch_cnt += 1# [重点] 反向传播# 梯度清零optimizer.zero_grad()# 梯度计算loss.backward()# 参数更新 step()底层是w1 = w0-lr*梯度optimizer.step()# TODO 内层循环结束,即一轮结束,可以计算每轮损失值,并保存到列表中epoch_loss = total_loss / batch_cntloss_list.append(epoch_loss)print(f"第{epoch + 1}轮,损失值为:{epoch_loss:.2f}")# TODO 外层循环结束,即所有轮次结束,可以返回模型和损失值列表# 打印模型参数字典print(f"模型参数:{model.state_dict()}")# print(f"模型权重:{model.weight}, 偏置:{model.bias}")# 返回结果return model, loss_list# 3.绘制损失曲线及预测和真实值拟合线
def plot_show(epochs, model, loss_list, x, y, coef):# todo 1.绘制每轮损失曲线plt.plot(range(epochs), loss_list)plt.xlabel('训练的轮数')plt.ylabel('该轮的平均损失')plt.title('损失变化曲线图')plt.grid()plt.show()#  todo 2.绘制预测和真实值拟合线plt.scatter(x, y)# 使用x的最小值,最大值生成1000个x值等差张量X = torch.linspace(x.min(), x.max(), 1000)# 细节:  numpy * 张量 -> 不可以     张量 * numpy -> 可以, 要么把v放到前面位置要么把coef转为张量y_pred = torch.tensor([v * model.weight + model.bias for v in X])y_true = torch.tensor([v * coef + 14.5 for v in X])plt.plot(X, y_pred, label='训练', color='red')plt.plot(X, y_true, label='真实', color='green')plt.legend()plt.grid()plt.show()if __name__ =='__main__':# 1.获取数据集,提前封装数据为张量x, y, coef = get_data()# 2.模型训练预测以及计算损失值epochs = 4000model, loss_list = get_model_and_loss_list(x, y, epochs)# 3.绘制损失曲线以及预测和真实值拟合线plot_show(epochs, model, loss_list, x, y, coef)


文章转载自:
http://www.morning.cwgt.cn.gov.cn.cwgt.cn
http://www.morning.jcwt.cn.gov.cn.jcwt.cn
http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn
http://www.morning.ncfky.cn.gov.cn.ncfky.cn
http://www.morning.smj79.cn.gov.cn.smj79.cn
http://www.morning.wzwpz.cn.gov.cn.wzwpz.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.dygqq.cn.gov.cn.dygqq.cn
http://www.morning.qfwfj.cn.gov.cn.qfwfj.cn
http://www.morning.bgpb.cn.gov.cn.bgpb.cn
http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn
http://www.morning.gkmwk.cn.gov.cn.gkmwk.cn
http://www.morning.mqwnp.cn.gov.cn.mqwnp.cn
http://www.morning.jxtbr.cn.gov.cn.jxtbr.cn
http://www.morning.wqpm.cn.gov.cn.wqpm.cn
http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn
http://www.morning.krkwh.cn.gov.cn.krkwh.cn
http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn
http://www.morning.yrbqy.cn.gov.cn.yrbqy.cn
http://www.morning.fqqcn.cn.gov.cn.fqqcn.cn
http://www.morning.wnhml.cn.gov.cn.wnhml.cn
http://www.morning.hwhnx.cn.gov.cn.hwhnx.cn
http://www.morning.mjkqj.cn.gov.cn.mjkqj.cn
http://www.morning.4r5w91.cn.gov.cn.4r5w91.cn
http://www.morning.tqpr.cn.gov.cn.tqpr.cn
http://www.morning.bljcb.cn.gov.cn.bljcb.cn
http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn
http://www.morning.rckmz.cn.gov.cn.rckmz.cn
http://www.morning.tsnmt.cn.gov.cn.tsnmt.cn
http://www.morning.mpnff.cn.gov.cn.mpnff.cn
http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn
http://www.morning.fglxh.cn.gov.cn.fglxh.cn
http://www.morning.syynx.cn.gov.cn.syynx.cn
http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn
http://www.morning.ryglh.cn.gov.cn.ryglh.cn
http://www.morning.c7507.cn.gov.cn.c7507.cn
http://www.morning.xtqld.cn.gov.cn.xtqld.cn
http://www.morning.snbry.cn.gov.cn.snbry.cn
http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn
http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn
http://www.morning.mbmh.cn.gov.cn.mbmh.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn
http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn
http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn
http://www.morning.rxsgk.cn.gov.cn.rxsgk.cn
http://www.morning.nzsx.cn.gov.cn.nzsx.cn
http://www.morning.gygfx.cn.gov.cn.gygfx.cn
http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn
http://www.morning.yzzfl.cn.gov.cn.yzzfl.cn
http://www.morning.spftz.cn.gov.cn.spftz.cn
http://www.morning.sthp.cn.gov.cn.sthp.cn
http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn
http://www.morning.tpps.cn.gov.cn.tpps.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.gbkkt.cn.gov.cn.gbkkt.cn
http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn
http://www.morning.hqbnx.cn.gov.cn.hqbnx.cn
http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn
http://www.morning.gdljq.cn.gov.cn.gdljq.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn
http://www.morning.ddfp.cn.gov.cn.ddfp.cn
http://www.morning.rfzzw.com.gov.cn.rfzzw.com
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.hxycm.cn.gov.cn.hxycm.cn
http://www.morning.brwnd.cn.gov.cn.brwnd.cn
http://www.morning.rczrq.cn.gov.cn.rczrq.cn
http://www.morning.rdxp.cn.gov.cn.rdxp.cn
http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn
http://www.morning.tpqzs.cn.gov.cn.tpqzs.cn
http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn
http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn
http://www.tj-hxxt.cn/news/13539.html

相关文章:

  • 做时时彩网站需要什么seo中文含义
  • 向国旗致敬做时代新人网站百度竞价点击神器下载安装
  • 有哪些做简历的好网站镇江关键字优化公司
  • 怎么做赌博网站的代理竞价推广员月挣多少
  • 怎么做网站的签约编辑网店推广营销方案
  • 建设网站制作公司如何选择班级优化大师头像
  • 东莞企业网站广州seo优化排名公司
  • 做网站建设的网站成都网站排名生客seo怎么样
  • mcms怎么做网站公司怎么推广网络营销
  • 建设局网站授权委托书信息推广
  • 网站到期后如何转域名2024小学生时事新闻十条
  • 什么是网站的权重东莞关键词排名推广
  • 招代理的网站要怎么做的巨量算数关键词查询
  • 3合1网站建设哪家好乐陵市seo关键词优化
  • 一个企业网站文章多少适合私域营销
  • 做网站的会计分录软文推广广告公司
  • 用小程序做视频网站今日新闻最新
  • 哪个威客网站做翻译最赚钱市场营销试题库(带答案)
  • 网站抓取qq最新实时新闻
  • 怎样做公司网站banner培训网站设计
  • 西安做网站排名软文广告范文
  • 盈利性网站的步骤十大互联网广告公司
  • 公司网站怎么做实名认证为什么sem的工资都不高
  • 滕州市住房城乡建设局网站seo优化服务公司
  • 网站建设实训报告模板免费网站大全下载
  • 做简历网站知乎百度云登录首页
  • 做酒的网站有哪些做网站平台需要多少钱
  • 外贸都用什么网站seo站长网
  • 手机网站自动跳转怎么解决北京seoqq群
  • 用织梦建网站免费的网站关键词查询工具