工业设计网站官网做图赚钱的网站

张小明 2026/1/9 4:04:59
工业设计网站官网,做图赚钱的网站,网站 视觉上,网络移动公司的网站建设把输入层的特征进行加权求和#xff0c;通过sigmod映射前面的加权求和结果神经元死亡问题 如何选择激活函数: 隐藏层:ReLU Leaky ReLU PReLU Tanh Sigmoid输出层:二分类: Sigmoid BCELoss 或 Softmax CrossEntropyLoss#xff08;内部自动做 softmax通过sigmod映射前面的加权求和结果神经元死亡问题如何选择激活函数:隐藏层: ReLU Leaky ReLU PReLU Tanh Sigmoid 输出层: 二分类: Sigmoid BCELoss 或 Softmax CrossEntropyLoss内部自动做 softmax 多分类: Softmax CrossEntropyLoss内部自动做 softmax 回归问题: identity(无需激活函数)如果限制区间则考虑ReLU, sigmoid, tanhsigmoid激活函数激活函数公式![](https://i-blog.csdnimg.cn/img_convert/bc813d1b6771b6d462196311ad0b5845.png)激活函数求导公式一般情况下sigmoid激活函数在五层之内就会出现梯度消失sigmoid函数一般只用于二分类的输出层importtorchimportmatplotlib.pyplotasplt plt.rcParams[font.sans-serif][SimHei]# 用来正常显示中文标签plt.rcParams[axes.unicode_minus]False# 用来正常显示负号# 1. 创建画布和坐标轴, 1行2列.fig,axesplt.subplots(1,2)# 2. 生成 -20 ~ 20之间的 1000个数据点.xtorch.linspace(-10,10,1000)# print(fx: {x})# 3. 计算上述1000个点, Sigmoid激活函数处理后的值.ytorch.sigmoid(x)# print(fy: {y})# 4. 在第1个子图中绘制Sigmoid激活函数的图像.axes[0].plot(x,y)axes[0].set_title(Sigmoid激活函数图像)axes[0].grid()# 5. 在第2个图上, 绘制Sigmoid激活函数的导数图像.# 5.1 重新生成 -20 ~ 20之间的 1000个数据点.# 参1: 起始值, 参2: 结束值, 参3: 元素的个数, 参4: 是否需要求导.xtorch.linspace(-20,20,1000,requires_gradTrue)# 5.2 具体的计算上述1000个点, Sigmoid激活函数导数后的值.torch.sigmoid(x).sum().backward()# 5.3 绘制图像.axes[1].plot(x.detach(),x.grad)axes[1].set_title(Sigmoid激活函数导数图像)axes[1].grid(True)plt.show()tanh激活函数x越大整体越接近于1 x越小整体越接近于-1tanh激活函数是将输入映射到[-11]之间tanh是最优解的情况下是1relu则永远是1用于隐藏层浅层网络(不超过5层)存在梯度消失问题.输出范围(-1,1), 导数范围(0,1], 输入的有效区间[-3,3].importtorchimportmatplotlib.pyplotasplt# 设置中文字体plt.rcParams[font.sans-serif][Microsoft YaHei]# 微软雅黑plt.rcParams[axes.unicode_minus]False# 解决负号显示问题# 1. 创建画布和坐标轴, 1行2列.fig,axesplt.subplots(1,2,figsize(12,5))# 2. 生成 -10 ~ 10之间的 1000个数据点.xtorch.linspace(-10,10,1000)# 3. 上述1000个点, 输入tanh(x)ytorch.tanh(x)# 4. 在第1个子图中绘制tanh激活函数的图像.axes[0].plot(x,y)axes[0].set_title(tanh激活函数图像)axes[0].grid()# 5. 在第2个图上, 绘制tanh激活函数的导数图像.# 重新生成 -10 ~ 10之间的 1000个数据点.# 参1: 起始值, 参2: 结束值, 参3: 元素的个数, 参4: 是否需要求导.xtorch.linspace(-10,10,1000,requires_gradTrue)# 上述1000个点, 输入tanh进行求导sum().backward()torch.tanh(x).sum().backward()# 绘制图像axes[1].plot(x.detach(),x.grad)axes[1].set_title(tanh激活函数导数图像)axes[1].grid()plt.tight_layout()plt.show()Relu激活函数常用于 隐藏层目前使用最多. 计算公式是max(0,x),输出范围[0,∞]导数0或1计算简单模型训练收敛快. 负数输入的输出为0会带来稀疏性起到正则化效果利于图像类任务. 负数输入的梯度为0可能导致部分神经元永久失活(dead ReLU)是缺点可以用 Leaky ReLU, PReLU 来考虑 负数输入的梯度.importtorchimportnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib matplotlib.use(TKAgg)plt.rcParams[font.sans-serif][SimHei]# 用来正常显示中文标签plt.rcParams[axes.unicode_minus]False# 用来正常显示负号#设置设备devicetorch.device(cudaiftorch.cuda.is_available()elsecpu)fig,axesplt.subplots(1,2,figsize(10,5))#生成x轴的数据点 1000点 -10到10之间xtorch.linspace(-10,10,1000)#经过relu激活函数运算ytorch.relu(x)#4.在第一个子图上绘制relu激活函数图像axes[0].plot(x,y)axes[0].set_title(relu激活函数图像)axes[0].set_xlabel(x)axes[0].set_ylabel(y)axes[0].grid()#5.绘制relu激活函数的导数图像#创建一个新的开启梯度计算的xxtorch.linspace(-10,10,1000,requires_gradTrue)#经过relu激活函数运算 再求和ytorch.relu(x).sum()#反向传播,获取梯度值x.grady.backward()axes[1].plot(x.detach(),x.grad)axes[1].set_title(relu激活函数导数图像)axes[1].set_xlabel(x)axes[1].set_ylabel(y)axes[1].grid()plt.show()softMAx激活函数用于多分类任务的输出层二分类任务上可以替代sigmoid.输出各个类别的概率分布范围(0,1), 并且概率总和为1.importtorchimportmatplotlib.pyplotaspltimportmatplotlib matplotlib.use(TKAgg)plt.rcParams[font.sans-serif][SimHei]# 用来正常显示中文标签plt.rcParams[axes.unicode_minus]False# 用来正常显示负号#设置设备devicetorch.device(cudaiftorch.cuda.is_available()elsecpu)fig,axesplt.subplots(1,2,figsize(10,5))#生成x轴的数据点 1000点 -10到10之间xtorch.tensor([0.2,0.02,0.15,0.15,1.3,0.5,0.06,1.1,0.05,3.75])#经过softmax激活函数运算ytorch.softmax(x,dim0)#4.在第一个子图上绘制softmax激活函数图像axes[0].bar(range(len(x)),y)axes[0].set_title(softmax激活函数图像)axes[0].set_xlabel(x)axes[0].set_ylabel(y)axes[0].grid()#5.绘制softmax激活函数的导数图像#创建一个新的开启梯度计算的xztorch.softmax(y,dim0)axes[1].bar(range(len(x)),z)axes[1].set_title(softmax(softmax(x))axes[1].set_xlabel(x)axes[1].set_ylabel(y)axes[1].grid()plt.show()参数的初始化仅了解因为后续的神经网络训练时默认都进行初始化案例 演示 参数初始化 的7种方式 参数初始化的作用1.防止 梯度消失 或 梯度爆炸2.提高收敛速度3.打破对称性 参数初始化的方式1.均匀分布初始化 init.uniform2.正态分布初始化 init.normal3.全0初始化 init.zeros_4.全1初始化 init.ones_5.固定值初始化 init.constant6.kaiming 初始化也叫做 HE 初始化 正态分布的he初始化 init.kaiming_normal_ 均匀分布的he初始化 init.kaiming_uniform_7.xavier 初始化也叫做 Glorot初始化 正态化的Xavier初始化 init.xavier_normal_ 均匀分布的Xavier初始化 init.xavier_uniform_ 总结:1.掌握 kaiming(权重w),xavier(权重w),全0初始化(偏置)2.如何选择参数初始化方式 ReLU及其变体kaiming 非ReLU:xavier 浅层均匀分布初始化/正态分布初始化# 1. 均匀分布初始化defdemo01():print(1. 均匀分布初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 对权重w 进行初始化nn.init.uniform_(linear.weight)# 对偏置b 进行初始化nn.init.uniform_(linear.bias)# 打印print(linear.weight.data)print(linear.bias.data)print(-*60)# 2. 正态分布初始化defdemo02():print(2. 正态分布初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 对权重w 进行初始化nn.init.normal_(linear.weight)# 对偏置b 进行初始化nn.init.normal_(linear.bias)# 打印print(linear.weight.data)print(linear.bias.data)print(-*60)# 3. 全0初始化defdemo03():print(3. 全0初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 对权重w 进行初始化nn.init.zeros_(linear.weight)# 对偏置b 进行初始化nn.init.zeros_(linear.bias)# 打印print(linear.weight.data)print(linear.bias.data)print(-*60)# 4. 全1初始化defdemo04():print(4. 全1初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 对权重w 进行初始化nn.init.ones_(linear.weight)# 对偏置b 进行初始化nn.init.ones_(linear.bias)# 打印print(linear.weight.data)print(linear.bias.data)print(-*60)# 5. 固定值初始化defdemo05():print(5. 固定值初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 对权重w 进行初始化nn.init.constant_(linear.weight,6)# 对偏置b 进行初始化nn.init.constant_(linear.bias,6)# 打印print(linear.weight.data)print(linear.bias.data)print(-*60)# 6. kaiming 初始化也叫做 HE 初始化defdemo06():print(6. kaiming 初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 正态分布的he初始化print(正态分布的he初始化)# 对权重w 进行初始化nn.init.kaiming_normal_(linear.weight)# 打印print(linear.weight.data)# 均匀分布的he初始化print(均匀分布的he初始化)# 对权重w 进行初始化nn.init.kaiming_uniform_(linear.weight)# 打印print(linear.weight.data)print(-*60)defdemo07():print(7.xavier 初始化)# 创建一个线性层输入维度3输出维度5linearnn.Linear(3,5)# 正态分布的xavier初始化print(正态分布的xavier初始化)# 对权重w 进行初始化nn.init.xavier_normal_(linear.weight)# 打印print(linear.weight.data)# 均匀分布的xavier初始化print(均匀分布的xavier初始化)# 对权重w 进行初始化nn.init.xavier_uniform_(linear.weight)# 打印print(linear.weight.data)print(-*60)
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设流程策划书wordpress大前端主题免费试用

Excalidraw Issue 提交规范:从模糊反馈到高效协作 在开源项目中,最让人头疼的不是代码有多复杂,而是用户说“出问题了”却不说清楚到底发生了什么。 你有没有遇到过这样的 issue?标题是“不好用”,正文只有一句“导出…

张小明 2026/1/8 10:33:41 网站建设

C语言做网站需要创建窗口吗网站设计制作的价格低廉

SSH远程调试Miniconda环境中的PyTorch代码操作指南 在深度学习项目日益复杂、计算资源集中化的今天,一个常见的开发场景是:你的代码运行在数据中心的GPU服务器上,而你坐在办公室或家中用笔记本电脑进行编码和调试。如何安全高效地连接这台远程…

张小明 2026/1/9 2:00:27 网站建设

购买马来网站域名苏州怎么做网站

终极企业级权限框架:Admin.NET快速开发完全指南 【免费下载链接】Admin.NET 🔥基于 .NET 6/8 (Furion/SqlSugar) 实现的通用权限开发框架,前端采用 Vue3/Element-plus,代码简洁、易扩展。整合最新技术,模块插件式开发&…

张小明 2026/1/6 9:51:26 网站建设

网站开发的职业认知报告整合营销公司排名

我来帮你写一个批处理脚本来完成这个任务。以下是几种方法: 方法1:使用批处理脚本(推荐) echo off chcp 65001 >nul setlocal enabledelayedexpansionREM 设置源目录和目标目录 set "sourceD:\BaiduNetdiskDownload"…

张小明 2026/1/8 23:21:39 网站建设

洛阳网站建设哪家权威建设网站最新动态

buck DCDC,适合初学者学习,有配套的设计仿真、原理说明pdf,还有参考轮文 [1]tsmc18工艺,正向设计的恒定时间控制(AOT)的dcdc,电压环路。 [2]输入电压1.6-1.8v ,输出电压0.4&#xf…

张小明 2026/1/6 18:27:54 网站建设

淮安软件园哪家做网站石家庄住房和建设局网站

从零开始搞定 Vivado 安装与激活:绕开“注册 2035”陷阱的完整实战指南 你是不是也遇到过这样的场景?好不容易下载完 Vivado,兴冲冲地打开软件准备写第一个 Verilog 模块,结果弹出一个冷冰冰的提示: “Cannot find a…

张小明 2026/1/6 18:27:52 网站建设