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

直播网站建设重庆中化建工北京建设投资有限公司网站

直播网站建设重庆,中化建工北京建设投资有限公司网站,做网站分类模块的设计思路,大连网站建设意动科技到目前为止,我们忽略了建立网络时需要做的以下这些事情: 我们定义了网络架构,但没有指定输入维度。 我们添加层时没有指定前一层的输出维度。 我们在初始化参数时,甚至没有足够的信息来确定模型应该包含多少参数。 有些读者可…

到目前为止,我们忽略了建立网络时需要做的以下这些事情:

  • 我们定义了网络架构,但没有指定输入维度。

  • 我们添加层时没有指定前一层的输出维度。

  • 我们在初始化参数时,甚至没有足够的信息来确定模型应该包含多少参数。

有些读者可能会对我们的代码能运行感到惊讶。 毕竟,深度学习框架无法判断网络的输入维度是什么。 这里的诀窍是框架的延后初始化(defers initialization), 即直到数据第一次通过模型传递时,框架才会动态地推断出每个层的大小。

在以后,当使用卷积神经网络时, 由于输入维度(即图像的分辨率)将影响每个后续层的维数, 有了该技术将更加方便。 现在我们在编写代码时无须知道维度是什么就可以设置参数, 这种能力可以大大简化定义和修改模型的任务。 接下来,我们将更深入地研究初始化机制。

实例化网络

from mxnet import np, npx
from mxnet.gluon import nnnpx.set_np()def get_net():net = nn.Sequential()net.add(nn.Dense(256, activation='relu'))net.add(nn.Dense(10))return netnet = get_net()

此时,因为输入维数是未知的,所以网络不可能知道输入层权重的维数。 因此,框架尚未初始化任何参数,我们通过尝试访问以下参数进行确认。

print(net.collect_params)
print(net.collect_params())
<bound method Block.collect_params of Sequential((0): Dense(-1 -> 256, Activation(relu))(1): Dense(-1 -> 10, linear)
)>
sequential0_ (Parameter dense0_weight (shape=(256, -1), dtype=float32)Parameter dense0_bias (shape=(256,), dtype=float32)Parameter dense1_weight (shape=(10, -1), dtype=float32)Parameter dense1_bias (shape=(10,), dtype=float32)
)

注意,当参数对象存在时,每个层的输入维度为-1。 MXNet使用特殊值-1表示参数维度仍然未知。 此时,尝试访问net[0].weight.data()将触发运行时错误, 提示必须先初始化网络,然后才能访问参数。 现在让我们看看当我们试图通过initialize函数初始化参数时会发生什么。

net.initialize()
net.collect_params()
[07:01:36] ../src/storage/storage.cc:196: Using Pooled (Naive) StorageManager for CPU
sequential0_ (Parameter dense0_weight (shape=(256, -1), dtype=float32)Parameter dense0_bias (shape=(256,), dtype=float32)Parameter dense1_weight (shape=(10, -1), dtype=float32)Parameter dense1_bias (shape=(10,), dtype=float32)
)

如我们所见,一切都没有改变。 当输入维度未知时,调用initialize不会真正初始化参数。 而是会在MXNet内部声明希望初始化参数,并且可以选择初始化分布。

接下来让我们将数据通过网络,最终使框架初始化参数。

X = np.random.uniform(size=(2, 20))
net(X)net.collect_params()
sequential0_ (Parameter dense0_weight (shape=(256, 20), dtype=float32)Parameter dense0_bias (shape=(256,), dtype=float32)Parameter dense1_weight (shape=(10, 256), dtype=float32)Parameter dense1_bias (shape=(10,), dtype=float32)
)

一旦我们知道输入维数是20,框架可以通过代入值20来识别第一层权重矩阵的形状。 识别出第一层的形状后,框架处理第二层,依此类推,直到所有形状都已知为止。 注意,在这种情况下,只有第一层需要延迟初始化,但是框架仍是按顺序初始化的。 等到知道了所有的参数形状,框架就可以初始化参数。 

http://www.yayakq.cn/news/877771/

相关文章:

  • 美食网站中饮食资讯该怎么做免费知识库管理系统
  • 桂林北站到两江机场大巴时刻表正规做网站公司
  • 网站支付怎么做安全吗建设工程安全管理网站
  • 重庆网站开发培训机构电商网站建设功能
  • 淮北市重点工程建设局网站phpcms 中英文网站
  • 万网域名注册查询商丘做网站seo
  • 个人网站建设详细教程做招牌的网站有哪些
  • 都有什么类别的网站最新科技新闻消息
  • 电商网站建设如何腾讯企业邮箱官网登录入口
  • 解决方案网站营销型的网站域名
  • wordpress 快站深圳企业建站招聘
  • 西安网站开发外包制作购物网站
  • 为什么不用原来的网站做推广学网站ui设计
  • ps联盟网站北京科兴中维新冠疫苗最新消息
  • 网站建设服务商网站几种颜色
  • 网站界面风格商旅通官网app
  • 在线做印章的网站wordpress获取指定分类
  • 成都专业网站设计好公司onedrive做网站下载盘
  • 公众号第三方网站开发满亦工作室 网站建设
  • 沈阳做网站费用phpcms律师网站模板
  • 外国网站的浏览器有哪个网站专业做漫画素材的
  • 如何做网站的推广wordpress cookie伪造
  • 自己做的网站怎么才能在百度上查找延庆区加工网站建设推广
  • 创立公司网站有限责任公司优缺点
  • 毕业网站设计天眼查官网查个人
  • 公司建的是网页还是网站wordpress一登录就错位
  • 延安网站建设推广微信网站60平方旧房翻新装修要多少钱
  • 芜湖建站公司公司章程范本
  • 张家港市网站制作镇江神鹰网络科技有限公司
  • 网络营销做私活网站做网站时如何写接口文档