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

产品创意设计案例沈阳网站优化

产品创意设计案例,沈阳网站优化,中国建筑集团,电子政务门户网站建设【前言】 本专题为PyTorch专栏。从本专题开始,我将通过使用PyTorch编写基础神经网络,带领大家学习PyTorch。并顺便带领大家复习以下深度学习的知识。希望大家通过本专栏学习,更进一步了解人更智能这个领域。 数据集来源:百…

【前言】
        本专题为PyTorch专栏。从本专题开始,我将通过使用PyTorch编写基础神经网络,带领大家学习PyTorch。并顺便带领大家复习以下深度学习的知识。希望大家通过本专栏学习,更进一步了解人更智能这个领域。

        数据集来源:百度网盘 请输入提取码,提取码:kif1


一、如何理解单维变多维

这是单维输入的计算过程:

一维输入X与一维参数W相乘后得到的输出也是以一个一维的矩阵。正如图上所示。

那么多维输入X矩阵就可以表示成由多个行向量X'堆叠而成的。如下图所示。

这部分是线性代数的内容,有遗忘的同学可以回归一下线性代数的内容。

二、单维变多维从代码上理解

self.linear = torch.nn.Linear(8, 1)

torch.nn.Linear()这个代码我们第一节课的时候就讲过。第一个参数指的是输入的维度,第二个参数指的是输出的维度。

上图所示内容是指,现在给一个8维的输入向量,最后要得到一个1维的输出向量

当然,这是只有一个线性层的代码形式。如果我们希望有多个线性层来使神经网路拟合的更好的话我们可以多加几个线性层,这时,这几个torch.nn.Linear()的参数也就发生了变化。

图中表示这个神网络有三个线性层。

第一层:输入一个8维的向量,输出一个6维的向量

第二层:输入一个6维的向量,输出一个4维的向量

第三层:输入一个4维的向量,输出一个1维的向量


三、用PyTorch实现多维逻辑回归

(1)导入模块、加载数据集

xy = np.loadtxt('diabetes.csv.gz', delimiter=',', dtype=np.float32)
  • 使用 np.loadtxt 函数从 diabetes.csv.gz 文件中加载数据。

  • delimiter=',':指定字段之间的分隔符为逗号,适用于 CSV 文件。

  • dtype=np.float32:指定数据类型为 float32,这在深度学习中很常见,因为 PyTorch 默认使用 float32 类型进行计算。

x_data = torch.from_numpy(xy[:, :-1])
  • 使用 torch.from_numpy 将 NumPy 数组转换为 PyTorch 张量。

  • xy[:, :-1]:提取所有行,但只取到倒数第二列为止的列,这些列通常包含特征数据。

y_data = torch.from_numpy(xy[:, [-1]])
  • 同样使用 torch.from_numpy 将 NumPy 数组转换为 PyTorch 张量。

  • xy[:, [-1]]:提取所有行的最后一列,这一列通常包含标签数据。

  • 注意:[-1] 用方括号括起来,确保 y_data 是二维张量,这对于某些 PyTorch 操作(如计算损失)是必要的。

我么们来看一下数据集的样子:


(2)设计模型

1.在这里你会发现,上述代码中所用的sigmoid函数是torch.nn.Sigmoid(),而上节课我们所用的是torch.nn.functional.Sigmoid()。接下来我们讲一下这二者的区别。

1. model(x_data)

这是推荐的使用方式,也是最常见的方式。当你调用 model(x_data) 时,PyTorch 会自动调用模型的 forward 方法来计算输出。

工作原理
  • 当你调用 model(x_data) 时,PyTorch 会调用模型的 __call__ 方法。

  • __call__ 方法内部会调用 forward 方法,并处理一些额外的逻辑,例如:

    • 调用 forward 方法之前,会检查是否需要进行梯度跟踪(requires_grad)。

    • 调用 forward 方法之后,会处理一些后处理逻辑,例如记录操作图。


2. model.forward(x_data)

这种方式直接调用了模型的 forward 方法。虽然这种方式也可以工作,但它绕过了 __call__ 方法的额外逻辑,因此不推荐在正常情况下使用。

工作原理
  • forward 方法是模型的核心部分,定义了输入数据如何通过模型的各个层。

  • 直接调用 forward 方法时,不会触发 __call__ 方法中的额外逻辑。

2.【self.activate=torch.nn.ReLU()】

图中这段代码表示引用一个激活函数ReLU,但本例中没有用到,如果你想用的话,你可以将代码中的Sigmoid()替换为ReLU()


(3)计算损失


(4)周期训练模式

【补充】

这段代码是为了为下一步描绘图像提供X轴数据、Y轴数据。

我们的图像描绘的是训练批次epoch(x轴)与损失值Loss(y轴)的关系

这是训练模型的运行结果:


(5)描绘图像

import matplotlib.pyplot as plt

导入这个包用来描绘图像

这是图像结果 

                                                                -

http://www.dtcms.com/wzjs/395388.html

相关文章:

  • 苏州网站建设姜超全媒体广告加盟
  • 阿里云WordPress主题seo主要优化
  • 如何让订阅号菜单做微网站软文是什么意思
  • 海外推广品牌优化工具箱
  • 湖南省重点建设项目办公室网站腾讯企业qq
  • 房产网站程序企业推广哪个平台好
  • 专门做美食的网站6网络营销软件站
  • 莆田做网站价格郑州网站建设优化
  • 为什么教育网站做的都很烂线下推广有哪些渠道
  • 天元建设集团网站网上推广用什么平台推广最好
  • 手机视频网站建站个人网站设计内容
  • 做北美市场的外贸网站推广产品的软文
  • 临朐网站建设软文营销方案
  • 会展行业门户网站建设网站友链交换平台
  • javaweb做网站的优点济南seo排名搜索
  • 天鸿建设集团有限公司 网站惠州网站排名提升
  • 网站中图片下移怎么做seo顾问服务咨询
  • 中山市建设局安全监督站网站天津seo数据监控
  • 企业网站页脚信息广东seo外包服务
  • dedecms菜谱网站源码软文推广发布
  • 建设银行网上银行网站进入不了网络黄页推广大全
  • 北京金河水务建设有限公司网站企业信息查询
  • 成都网站建设xhbrand网站设计用什么软件
  • 泉州网站开发企业百度移动应用
  • web首页设计源代码南召seo快速排名价格
  • 苏州专业网站制作免费友情链接交换平台
  • iis7 发布asp网站404球队世界排名榜
  • 网站挂百度广告定制型营销网站建设
  • 个人网站网页设计模板发布软文网站
  • 厦门35网站建设公司南昌seo搜索优化