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

黄冈网站免费投放平台免费下载wordpress好处

黄冈网站免费投放平台免费下载,wordpress好处,40岁学平面设计能找到工作吗,潍坊专业技术继续教育平台目录 torch#xff1a;核心库#xff0c;包含张量操作、数学函数等基本功能 torch.nn#xff1a;神经网络模块#xff0c;包括各种层、损失函数和优化器等 torch.optim#xff1a;优化算法模块#xff0c;提供了各种优化器#xff0c;如随机梯度下降 (SGD)、Adam、RMS…目录 torch核心库包含张量操作、数学函数等基本功能 torch.nn神经网络模块包括各种层、损失函数和优化器等 torch.optim优化算法模块提供了各种优化器如随机梯度下降 (SGD)、Adam、RMSprop 等。 torch.autograd自动求导模块用于计算张量的梯度 torch核心库包含张量操作、数学函数等基本功能 torch.tensor(): 创建张量torch.zeros(), torch.ones(): 创建全零或全一张量torch.rand(): 创建随机张量torch.from_numpy(): 从 NumPy 数组创建张量 torch.add(), torch.sub(), torch.mul(), torch.div(): 加法、减法、乘法、除法 torch.mm(), torch.matmul(): 矩阵乘法 torch.exp(), torch.log(), torch.sin(), torch.cos(): 指数、对数、正弦、余弦等数学函数 torch.index_select(): 按索引选取张量的子集 torch.masked_select(): 根据掩码选取张量的子集 切片操作类似 Python 中的列表切片操作如 tensor[2:5] torch.view(), torch.reshape(): 改变张量的形状 torch.squeeze(), torch.unsqueeze(): 压缩或扩展张量的维度 torch.mean(), torch.sum(), torch.max(), torch.min(): 计算张量均值、和、最大值、最小值等 torch.broadcast_tensors(): 对张量进行广播操作 torch.cat(): 拼接张量 torch.stack(): 堆叠张量 torch.split(): 分割张量 torch.nn神经网络模块包括各种层、损失函数和优化器等 神经网络层 torch.nn.Linear(in_features, out_features): 全连接层进行线性变换。torch.nn.Conv2d(in_channels, out_channels, kernel_size): 2D卷积层。torch.nn.MaxPool2d(kernel_size): 2D 最大池化层。torch.nn.ReLU(): ReLU 激活函数。torch.nn.Sigmoid(): Sigmoid 激活函数。torch.nn.Dropout(p): Dropout 层用于防止过拟合。 备注Sigmoid 激活函数是一种常用的非线性激活函数其作用可以总结如下 将输入映射到 (0, 1) 范围内输出范围在 0 到 1 之间可以将任意实数输入映射到 0 到 1 之间。这种特性在某些情况下很有用比如对于二分类任务Sigmoid 函数的输出可以被解释为样本属于正类的概率。 引入非线性变换 Sigmoid 函数是一种非线性函数可以引入神经网络的非线性变换能力使得神经网络可以学习更加复杂的模式和关系。在深度神经网络中非线性激活函数的使用可以帮助神经网络学习非线性模式提高网络的表达能力。 输出平滑且连续 Sigmoid 函数具有平滑的 S 形曲线在定义域内都是可导的这使得在反向传播算法中计算梯度变得相对容易。这一点对于神经网络的训练至关重要。 损失函数 torch.nn.CrossEntropyLoss(): 交叉熵损失函数常用于多分类问题。 交叉熵损失函数用于衡量两个概率分布之间的差异通常用于多分类任务中。在神经网络的多分类任务中输入模型的输出是一个概率分布表示每个类别的预测概率而交叉熵损失函数则用于比较这个预测概率分布与实际标签的分布之间的差异。 torch.nn.CrossEntropyLoss() 来计算交叉熵损失函数它会自动将模型的输出通过 Softmax 函数转换为概率分布并计算交叉熵损失。 torch.nn.MSELoss(): 均方误差损失函数常用于回归问题。 均方误差损失函数用于衡量模型输出与实际目标之间的差异通常在回归任务中使用。该损失函数计算预测值与真实值之间的平方差并将所有样本的平方差求平均得到最终的损失值。 优化器 torch.optim.SGD(model.parameters(), lrlearning_rate): 随机梯度下降优化器。torch.optim.Adam(model.parameters(), lrlearning_rate): Adam 优化器。 模型定义相关 torch.nn.Module: 所有神经网络模型的基类需要继承这个类。model.forward(input_tensor): 定义前向传播。 数据处理相关 torch.utils.data.Dataset: PyTorch 数据集的基类需要自定义数据集时使用。torch.utils.data.DataLoader(dataset, batch_size, shuffle): 数据加载器用于批量加载数据。 torch.optim优化算法模块提供了各种优化器如随机梯度下降 (SGD)、Adam、RMSprop 等。 优化器Optimizer类 torch.optim.SGD(params, lr0.01, momentum0, weight_decay0)随机梯度下降优化器实现了带动量的随机梯度下降。torch.optim.Adam(params, lr0.001, betas(0.9, 0.999), eps1e-8, weight_decay0)Adam 优化器结合了动量方法和 RMSProp 方法通常在深度学习中表现良好。torch.optim.Adagrad(params, lr0.01, lr_decay0, weight_decay0)Adagrad 优化器自适应地为参数分配学习率。它根据参数的历史梯度信息对每个参数的学习率进行调整。这意味着对于不同的参数Adagrad可以为其分配不同的学习率从而更好地适应参数的更新需求torch.optim.RMSprop(params, lr0.01, alpha0.99, eps1e-8, weight_decay0, momentum0, centeredFalse)RMSprop 优化器有效地解决了 Adagrad 学习率下降较快的问题RMSprop对梯度平方项进行指数加权平均。 备注 1.在优化算法中momentum动量是一种用于加速模型训练的技巧。动量项的引入旨在解决标准随机梯度下降在训练过程中可能遇到的震荡和收敛速度慢的问题。 动量项的引入可以帮助优化算法在参数更新时更好地利用之前的更新方向从而在一定程度上减少参数更新的波动加快收敛速度并有助于跳出局部极小值。具体来说动量项在参数更新时会考虑之前的更新方向并对当前的更新方向进行一定程度的调整。 在 PyTorch 的 torch.optim.SGD 中动量可以通过设置 momentum 参数来控制。通常情况下动量的取值范围在 0 到 1 之间常见的默认取值为 0.9。当动量设为0.9时每次迭代都会保留上一次速度的 90%并使用当前梯度微调最终的更新方向。 总结来说动量项的引入可以提高随机梯度下降的稳定性和收敛速度有助于在训练神经网络时更快地找到较优的解。 2.  在优化算法中weight decay权重衰减是一种用于控制模型参数更新的正则化技术。权重衰减通过在优化过程中对参数进行惩罚防止其取值过大从而有助于降低过拟合的风险。 具体来说在SGD中的weight_decay参数是对模型的权重进行L2正则化即在计算梯度时额外增加一个关于参数的惩罚项。这个惩罚项会使得优化算法更倾向于选择较小的权重值从而降低模型的复杂度减少过拟合的风险。 在PyTorch中torch.optim.SGD中的weight_decay参数用于控制权重衰减的程度。通常情况下weight_decay的取值为一个小的正数比如 0.001 或 0.0001。设置了weight_decay之后在计算梯度时会额外考虑到权重的惩罚项从而影响参数的更新方式。 总结来说权重衰减是一种正则化技术通过对模型参数的惩罚来控制模型的复杂度减少过拟合的风险提高模型的泛化能力。 3. L1正则化L1正则化会给模型的损失函数添加一个关于权重绝对值的惩罚项即L1范数权重的绝对值之和。在梯度下降过程中L1正则化会导致部分权重直接变为0因此可以实现稀疏性有特征选择的效果。L1正则化倾向于产生稀疏的权重矩阵可以用于特征选择和降维。 L1正则化的惩罚项是模型权重的L1范数即权重的绝对值之和。在优化过程中为了最小化损失函数并减少正则化项的影响优化算法会尝试将权重调整到较小的值。由于L1正则化的几何形状在坐标轴上拐角处就会与坐标轴相交这就导致了在坐标轴上许多点都是对称的因此在这些点上的梯度不唯一。这意味着在这些对称点上优化算法更有可能将权重调整为0从而导致稀疏性。 L2正则化L2正则化会给模型的损失函数添加一个关于权重平方的惩罚项即L2范数的平方权重的平方和。在梯度下降过程中L2正则化会使得权重都变得比较小但不会直接导致稀疏性。L2正则化对异常值比较敏感因为它会平方每个权重使得异常值对损失函数的影响更大。 总的来说L1正则化和L2正则化都是常用的正则化技术它们在模型训练过程中都有助于控制模型的复杂度减少过拟合的风险。选择使用哪种正则化方法通常取决于具体的问题和数据特点以及对模型稀疏性的需求。在实际应用中有时也会将L1和L2正则化结合起来形成弹性网络正则化Elastic Net regularization以兼顾两种正则化方法的优势。 4.  betas 是 Adam 算法中的两个超参数之一它控制了梯度的一阶矩估计和二阶矩估计的指数衰减率。betas 是一个长度为2的元组通常形式为 (beta1, beta2)。在 Adam 算法中beta1 控制了一阶矩估计梯度的均值的衰减率beta2 控制了二阶矩估计梯度的平方的均值的衰减率。 通常情况下beta1 的默认值为 0.9beta2 的默认值为 0.999。这意味着在每次迭代中一阶矩估计将保留当前梯度的 90%而二阶矩估计将保留当前梯度的平方的 99.9%。这些衰减率的选择使得 Adam 算法能够在训练过程中自适应地调整学习率并对梯度的变化做出快速或缓慢的响应从而更有效地更新模型参数。 总之betas 参数在 Adam 算法中起着调节梯度一阶和二阶矩估计衰减率的作用通过合理设置 betas 可以影响算法的收敛性和稳定性。 调整学习率的函数 torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda)根据给定的函数 lr_lambda 调整学习率。torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma0.1)每个 step_size 个 epoch 将学习率降低为原来的 gamma 倍。torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones, gamma0.1)在指定的里程碑上将学习率降低为原来的 gamma 倍。 其他常用函数 zero_grad()用于将模型参数的梯度清零通常在每个 batch 后调用。step(closure)用于执行单步优化器的更新需要传入一个闭包函数 closure。state_dict() 和 load_state_dict()用于保存和加载优化器的状态字典方便恢复训练。 torch.autograd自动求导模块用于计算张量的梯度
http://www.zqtcl.cn/news/229672/

相关文章:

  • 沈阳做网站哪家质量好价格低东单网站建设
  • o2o网站建设如何南宁网站推广方案如何做
  • 网站部署到终端机怎么做网站建设数据库怎么弄
  • 城乡建设部官网查证如何进行网站的seo
  • 为何只有建设银行网站打不开阳江网络问政
  • 浦东做营销网站河北黄骅市网站建设
  • 青岛哪里有做网站公司的东莞东坑网站设计
  • 建站公司是什么郴州网站建设哪家做的好
  • 鞍山市住房和城乡建设网站网站几个数据库
  • 网站的内容建设安徽做网站
  • 有建网站的软件深圳专业做网站专业公司
  • 成都建设网站的公司汕尾海丰建设规划局网站
  • 南京cms建站企业网站的优化
  • 织梦网络设计工作室网站模板wordpress %postname%
  • 网站建设默认字体2020广东黄页
  • 金融电子商务网站建设深圳有什么公司名称
  • 网站设计 术语wordpress 图片弹出
  • 哪些域名不能够做淘宝客网站查建设公司年度保证金网站
  • 自己怎样用手机建网站网站优化 北京
  • 深圳小语种网站建设深圳做网站哪个平台好
  • 给个高质量的网站做网站优化有前景吗
  • 外贸网站 源怎么利用互联网平台赚钱
  • 营销型网站建设平台wordpress 添加 常规
  • php主做哪种类型网站高端公司小程序建设
  • 网站域名301是什么意思在一呼百应上做网站行吗
  • 怎么做百度口碑网站郑州网站设计专家
  • 珠海网络公司网站建设邯郸铸邯网络信息科技有限公
  • 室内设计者联盟官网哈尔滨百度搜索排名优化
  • 网站公司打电话来说做网站天下信息网
  • 汕头制作企业网站百度舆情监测平台