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

诸城市建设局网站厦门建行网站首页

诸城市建设局网站,厦门建行网站首页,eyoucms去版权,婚纱摄影手机网站欣赏完整的神经网络 以分类任务为例#xff0c;神经网络一般包括backbone和head#xff08;计算机视觉领域#xff09; 下面的BasicBlock不是一个标准的backbone,标准的应该是复杂的CNNs构成的 Classfier是一个标准的head,其中output_dim表示分类类别#xff0c;一般写作num…完整的神经网络 以分类任务为例神经网络一般包括backbone和head计算机视觉领域 下面的BasicBlock不是一个标准的backbone,标准的应该是复杂的CNNs构成的 Classfier是一个标准的head,其中output_dim表示分类类别一般写作num_classes import torch # 导入 torch 库 import torch.nn as nn # 导入 torch 的神经网络模块 import torch.nn.functional as F # 导入 torch 的函数式接口# 定义一个基础的神经网络模块 class BasicBlock(nn.Module): # 继承自 torch 的 Module 类def __init__(self, input_dim, output_dim):super(BasicBlock, self).__init__() # 初始化父类# 构建一个序列模块包含一个线性层和一个 ReLU 激活函数self.block nn.Sequential( # 线性层输入维度为 input_dim输出维度为 output_dimnn.Linear(input_dim, output_dim), nn.ReLU(), # ReLU 激活函数)def forward(self, x):x self.block(x) # 将输入数据 x 通过定义的序列模块return x # 返回模块的输出# 定义一个分类器神经网络 class Classifier(nn.Module): # 继承自 torch 的 Module 类def __init__(self, input_dim, output_dim41, hidden_layers1, hidden_dim256):super(Classifier, self).__init__() # 初始化父类# 构建一个序列模块包含若干个 BasicBlock 和一个线性输出层self.fc nn.Sequential( # 第一个 BasicBlock将输入维度转换为隐藏层维度BasicBlock(input_dim, hidden_dim), # 根据 hidden_layers 数量添加多个 BasicBlock*[BasicBlock(hidden_dim, hidden_dim) for _ in range(hidden_layers)], # 线性输出层将隐藏层维度转换为输出维度nn.Linear(hidden_dim, output_dim) )def forward(self, x):x self.fc(x) # 将输入数据 x 通过定义的序列模块return x # 返回模块的输出对 *[BasicBlock(hidden_dim, hidden_dim) for _ in range(hidden_layers)]的一个补充解释“*”代表解压列表例如A[a,b,c]那么f(*A)f(a,b,c) 在这里的具体意义是“便于控制隐藏层数量”而其中的_代表不希望在循环中使用变量这是一种通用的惯例表明循环的目的不是对每个元素进行操作而是为了重复某个操作特定次数。如果hidden_layers3这里的等价含义就是BasicBlock(hidden_dim, hidden_dim)BasicBlock(hidden_dim, hidden_dim)BasicBlock(hidden_dim, hidden_dim)——连续出现三次 dropout Dropout层在神经网络层当中是用来干什么的呢它是一种可以用于减少神经网络过拟合的结构。 如上图我们定义的网络,一共有四个输入x_i一个输出y。Dropout则是在每一个batch的训练当中随机减掉一些神经元而作为编程者我们可以设定每一层dropout将神经元去除的的多少的概率在设定之后就可以得到第一个batch进行训练的结果 从上图我们可以看到一些神经元之间断开了连接因此它们被dropout了dropout顾名思义就是被拿掉的意思正因为我们在神经网络当中拿掉了一些神经元所以才叫做dropout层。 在进行第一个batch的训练时有以下步骤 设定每一个神经网络层进行dropout的概率根据相应的概率拿掉一部分的神经元然后开始训练更新没有被拿掉神经元以及权重的参数将其保留参数全部更新之后又重新根据相应的概率拿掉一部分神经元然后开始训练如果新用于训练的神经元已经在第一次当中训练过那么我们继续更新它的参数。而第二次被剪掉的神经元同时第一次已经更新过参数的我们保留它的权重不做修改直到第n次batch进行dropout时没有将其删除。
http://www.pierceye.com/news/688066/

相关文章:

  • 网站后期增加产品东平网页设计
  • 免费网站模板的制作方法石台做网站
  • 温州建设网站公司哪家好游戏外包公司要不要去
  • 动力无限西安网站建设wordpress图片到本地
  • 重庆微信营销网站建设seo快照推广
  • dedecms小说网站模板如何以目录形式访问网站
  • 有哪些可以做网站的平台怎样把录的视频做一下传到网站
  • 网站域名如何续费福建建筑人才服务中心
  • 站长平台怎么添加网站网站中文名注册
  • 唐四薪php网站开发答案想制作一个网站要多少钱
  • ppt网站建设答案东台网页定制
  • 做网站 侵权如何制作手机版网站
  • 代发网站建设app网站软件
  • 家居企业网站建设如何国家企业信息公示系统全国
  • 网站平台如何推广wordpress登录页面显示ip
  • 如何做网站百度排名优化推广的目的是什么
  • 重庆忠县网站建设公司哪家专业芷江建设局的工作人员网站
  • 戴尔电脑网站建设方案范文室内设计方案图
  • 餐厅网站建设策划方案网站建设存在的具体问题
  • 竞价页面网站做优化广告商对接平台
  • 网站后台如何修改密码wordpress调整页面布局
  • 东莞热点网站建设莱州人才网
  • 线上渠道推广网站的优化哪个好
  • 群晖可以做网站服务器微信朋友圈怎么发链接那种网页怎么制作
  • wordpress 公司网站网站和公众号的区别
  • 数据库跟网站seo流程
  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购