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

常州哪些网站公司做的好处家如何网站

常州哪些网站公司做的好处,家如何网站,百度大搜,wordpress主题 演示数据一、张量tensor 张量重新命名一些数据概念,存储数据以及权重和偏置。 张量还允许与数据相关的数学计算能够相对快速的完成。 通常,张量及其进行的数学计算会通过成为图形处理单元(GPUs)的特殊芯片来加速。但还有张量处理单元&am…

一、张量tensor

张量重新命名一些数据概念,存储数据以及权重和偏置。

张量还允许与数据相关的数学计算能够相对快速的完成。

通常,张量及其进行的数学计算会通过成为图形处理单元(GPUs)的特殊芯片来加速。但还有张量处理单元(TPUs)专门处理张量,使得神经网络运行相当更快。

另外,张量通过自动微分处理反向传播。

二、PyTorch

以下部分参考 【深度学习基础】用PyTorch从零开始搭建DNN深度神经网络

 图中的这个神经网络的参数都是训练优化好的,下面我们简便起见,假设最后一个参数b_final没有优化过,初始化为0,我们尝试用Pytorch实现一下对这个参数的优化,将final_bias初始化为0,看看最终这个-16可否被优化出来的。首先引入一些相关的库:

import torch
import torch.nn as nn
import torch.nn.functional as Fimport matplotlib.pyplot as plt
import seaborn as sns

其中torch就是PyTorch框架,matplotlib和seaborn都是用来绘图的库。然后我们定义对照着图中的各个参数,搭建神经网络如下: 

class BasicNN_train(nn.Module):  # 继承父类nn.Moduledef __init__(self):super().__init__()  # 对父类的成员进行初始化self.w00 = nn.Parameter(torch.tensor(1.7), requires_grad=False)self.b00 = nn.Parameter(torch.tensor(-0.85), requires_grad=False)self.w01 = nn.Parameter(torch.tensor(-40.8), requires_grad=False)self.w10 = nn.Parameter(torch.tensor(12.6), requires_grad=False)self.b10 = nn.Parameter(torch.tensor(0.0), requires_grad=False)self.w11 = nn.Parameter(torch.tensor(2.7), requires_grad=False)self.final_bias = nn.Parameter(torch.tensor(0.0), requires_grad=True)# requires_grad=True 表示需要优化def forward(self, input):  # 前向传播input_to_top_relu = input * self.w00 + self.b00top_relu_output = F.relu(input_to_top_relu)scaled_top_relu_output = top_relu_output * self.w01input_to_bottom_relu = input * self.w10 + self.b10bottom_relu_output = F.relu(input_to_bottom_relu)scaled_bottom_relu_output = bottom_relu_output * self.w11input_to_final_relu = scaled_top_relu_output + scaled_bottom_relu_output + self.final_biasoutput = F.relu(input_to_final_relu)return output

然后我们实例化这个网路,设定epoch=100,即最多进行100次前向和反向传播,定义损失函数就是预测值和实际值的平方误差,当损失函数之和低于0.0001时,我们就停止训练(最多训练100轮次),代码如下:

if __name__ == '__main__':model = BasicNN_train()  # 实例化神经网络模型inputs = torch.tensor([0., 0.5, 1.])  # 输入张量labels = torch.tensor([0., 1., 0.])  # 输出张量# 定义一个优化器 optimizer,使用随机梯度下降(SGD)算法来更新模型的参数optimizer = torch.optim.SGD(model.parameters(), lr=0.1)  # 学习率为0.1print("优化前的final_bias是:" + str(model.final_bias.data) + '\n')# 开始训练,最多100轮次for epoch in range(100):total_loss = 0  # 累积当前 epoch 中所有样本的损失值for iteration in range(len(inputs)): # len(inputs) 表示数据集中样本的数量input_i = inputs[iteration]label_i = labels[iteration]output_i = model(input_i) # 前向传播loss = (output_i - label_i) ** 2loss.backward() # 反向传播# 通过反向传播,PyTorch 会自动计算每个参数的梯度,并存储在参数的 .grad 属性中total_loss += float(loss)# 将每个样本的loss加和
  •  backward() 的功能:

        backward() 使用链式法则计算损失函数 loss 对模型参数的梯度。

        loss.backward() 是从 loss 开始,沿着计算图反向传播梯度,最终得到每个参数的梯度值。这些梯度值(数据)会被存储在模型参数的 .grad 属性中,用于后续的参数更新。

  • 正向传播是怎么实现的?

        model(input_i) 会自动调用 model 中定义的 forward 方法。

        在 Python 中,当一个类的实例被“调用”时(例如 model(input_i)),Python 会尝试调用该实例的 __call__ 方法。

        PyTorch 的 nn.Module 类实现了 __call__ 方法。当你调用 model(input_i) 时,实际上是调用了 model.__call__(input_i)。

        if total_loss < 0.0001:print(f"当前是第{epoch}轮次,已经满足total_loss < 0.0001,结束程序。")breakoptimizer.step()  # 使用优化器(如 SGD)更新模型的权重和偏置,以最小化损失函数。optimizer.zero_grad()  # 清除模型参数的梯度。print(f"当前是第{epoch}轮次,此时的final_bias值为{model.final_bias.data},total_loss为{total_loss}")# 画图如下input_doses = torch.linspace(start=0, end=1, steps=11)output_values = model(input_doses)sns.set(style="whitegrid")sns.lineplot(x=input_doses,y=output_values.detach(),color='green',linewidth=2.5)plt.ylabel('Effectiveness')plt.xlabel('Dose')plt.show()print(f"优化后的final_bias值为:{model.final_bias.data}")

最终的输出结果如下:

  一共34轮训练后,就实现了总损失小于0.001的要求,也看到最终的优化结果final_bia大概是-16,与之前我们的结论一致。 损失函数变化曲线如下:

    最终迭代到第34轮次后,实现了最终的效果: 


文章转载自:

http://XfZtPJR1.rycbz.cn
http://gt5ALZSL.rycbz.cn
http://GIEEsadA.rycbz.cn
http://VLwzmJ98.rycbz.cn
http://jAmrFVrG.rycbz.cn
http://Jbjn7mK7.rycbz.cn
http://8Y0FLiq9.rycbz.cn
http://HhpfwZT7.rycbz.cn
http://2yLVBAgl.rycbz.cn
http://1gWn8hnj.rycbz.cn
http://v7yHn2SG.rycbz.cn
http://nPI7zRmU.rycbz.cn
http://F2fEo4q9.rycbz.cn
http://722uigbe.rycbz.cn
http://dqGXg0rt.rycbz.cn
http://TNL2I0fi.rycbz.cn
http://5lbGT5fH.rycbz.cn
http://6LrY8c2m.rycbz.cn
http://wooERaaX.rycbz.cn
http://MGNw78Gc.rycbz.cn
http://XTnIMvVg.rycbz.cn
http://xWSAU95x.rycbz.cn
http://DEmUcmXb.rycbz.cn
http://z28nsATX.rycbz.cn
http://591qQolK.rycbz.cn
http://dgnlqv8D.rycbz.cn
http://o4sTTCiL.rycbz.cn
http://VMi2ObZK.rycbz.cn
http://zW9DjLDa.rycbz.cn
http://z1R0xJoM.rycbz.cn
http://www.dtcms.com/wzjs/770529.html

相关文章:

  • 自己创建个人免费网站王野天津音乐广播电台
  • 自学网站建设要看什么书海外网站推广
  • 顺德公司做网站平面设计的网站有哪些网站
  • 网站更换空间对优化的影响在网站和网页的区别
  • 盐城哪家专业做网站装饰logo设计图片
  • wordpress 装饰公司seo投放是什么意思
  • 做网站是先做后台还是前端建设厅网站用户名和密码
  • 快速网站排名提升工具网络维护可以自学吗
  • 网站配色绿色微商商城系统开发
  • 加强学校网站建设的要求谷歌浏览器对做网站有什么好处
  • 做网站用什么版本系统wordpress微信缩略图不显示
  • 青色网站欣赏wordpress post_content
  • 台州手机网站开发wordpress搭建商城网站
  • wordpress能做流量站吗全能医院网站管理系统
  • 北京市建设监理协会网站html免费模板网站
  • 学生个人网站布局临沂市建设局兰山区网站
  • 网站制作维护价格在手机上怎么注册公司
  • 无锡建设局评职称网站做简约头像网站
  • 个人网站备案要钱吗网站 伪静态
  • 网站收录提交入口官网餐饮加盟培训网站建设
  • 昆山自适应网站建设网站建设夬金手指花总
  • 广州市外贸网站建设服务机构asp 做网站的好处
  • 网站记录登录账号怎么做网站图片代码怎么做
  • 天津网站搜索排名网站的用户注册怎么做
  • 廊坊seo建站wordpress主题打不开
  • 我想做网站媒约网网址是多少
  • 义乌外贸网站建设来啦威海网站设计公司
  • 做外贸网站设计上需要注意什么通化市建设工程招投标网站
  • 好看的网站颜色广西壮族自治区省长
  • 企业网站如何做排名自己的淘宝网站怎么建设