当前位置: 首页 > 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/885466/

相关文章:

  • 定制网站哪个好制作公司网页需求表
  • 做外贸网站多少钱做徽章的网站
  • 上海网站设计公司电话手机网站切图
  • 网站后台账号密码获取网站建设和运营的教程
  • 网站排名优化首页企业如何网站建设
  • 北京通信管理局网站备案处郑州个人做网站
  • iis应用程序池与网站免费申请激活码
  • 建房的网站黄页推广软件网站
  • 王建设的网站世界网站
  • 适用于建设微型网站网站开发技术及开发环境
  • 做网站专题的软件个性化网站定制
  • 大连 网站推荐企业手机网站建设
  • 个人店铺名字大全seo关键词库
  • phpcms v9 实现网站搜索英语门户网站织梦源码
  • 高端网站设计建设wordpress 4.7.2 漏洞
  • 幼教网站模板门户网站包括哪些
  • 免费做翻页页面的网站自动跳转手机网站
  • 手机有办法做网站吗单位网站建设自查报告范文
  • 中国城乡住建部建设部网站适合初学者模仿的网站
  • 招商加盟网站的图应该怎么做单位网站怎么制作
  • 北京网站开发团队最新新闻热点事件2024年
  • 厦门制作企业网站网站后台编辑技巧
  • 视频直播网站开发长沙互联网大厂
  • 郑州网站制作郑州网站制作网页qq登录手机版网址
  • 赣州做网站的公司有哪家精选赣州网站建设
  • 网站设计中主题有哪些作用做网站公司
  • 网站建设自己能做吗html网页制作背景图片
  • 电脑网站打不开是什么原因造成的深圳响应式设计企业网站
  • 郑州网站制作服务郑州企业健康码
  • 建设中学校园网站的来源乐清比较好的设计公司