NetChain
NetChain[{layer1,layer2,…}]
指定一个神经网络,其中 layeri 的输出与 layeri+1 的输入相连接.
NetChain["name1"layer1,"name2"layer2,…]
指定一个由一系列已明确命名的层组成的网络.
更多信息和选项
- 视第一层的输入为 NetChain 的输入.
- 视最后一层的输出为 NetChain 的输出.
- 所有中间的层只能有一个输入和一个输出口.
- NetChain[…][data] 给出对 data 应用网络后所得结果.
- NetChain[…][data,NetPortGradient["Input"]] 给出输出相对于输入数据的梯度.
- 如果第一层的输入端口超过一个,NetChain 将具有相同的输入端口.
- 如果最后一层的输出端口超过一个,NetChain 将具有相同的输出端口.
- NetChain 支持下面特殊的层规范:
-
Ramp,LogisticSigmoid,… ElementwiseLayer[f] n LinearLayer[n] {layer1,layer2,…} NetChain[{layer1,layer2,…}] - Normal[NetChain[…]] 将返回用于构建网络链的层的列表或关联.
- NetChain 的 StandardForm 显示出链中各层和每层的输出的数组的维度. 点击链中的层会显示关于该层的更多信息.
- 可包括以下可选参数:
-
LearningRateMultipliers Automatic 可训练数组的学习率乘子 - 可以用 NetChain 的选项 "Input"->shape 和 "Output"->shape 指定链的输入和输出数组的整体形状.
- shape 的可能形式包括:
-
"Real" 单个实数 "Integer" 单个整数 Restricted["Integer",n] 位于 1 和 n 之间的整数 Restricted["Integer",{m,n}] 位于 m 和 n 之间的整数 n 长度为 n 的向量 {n1,n2,…} 维度为 n1×n2×… 的数组 "Varying" 长度可变的向量 {"Varying",n2,n3,…} 维度为 n2×n3×… 的数组组成的长度可变的序列 NetEncoder[…] 编码器(输入) NetEncoder[{…,"Dimensions"{n1,…}}] 编码器映射为一个维数为 n1×… 的数组 NetDecoder[…] 解码器(输出) NetDecoder[{…,"InputDepth"n}}] 把编码器应用到阶为 n 的数组 FeatureExtractorFunction[…] 特征提取器函数 - 将从链的结构中推出以 Automatic 给出的长度 ni.
- NetChain[…][data,…,opts] 应用 data 时应使用的选项. 可能的选项包括:
-
BatchSize Automatic 对于输入列表,一次计算的输入数目 NetEvaluationMode "Test" 评估时使用什么模式 RandomSeeding Automatic 如果有伪随机生成器,如何播种 TargetDevice "CPU" 在哪个目标设备上进行评估 WorkingPrecision "Real32" 用于计算网络的数值精度 - WorkingPrecision 的可能设置包括:
-
"Real32" 使用单精度实数(32 位) "Real64" 使用双精度实数(64 位) "Mixed" 对于某些运算使用半精度实数 - WorkingPrecision->"Mixed" 只支持 TargetDevice->"GPU",在某系设备上会导致显著的性能增加.
- 如果输入是 NumericArray,输出会是 NumericArray. 在这种情况下,数值类型来自于 WorkingPrecision.
- 当设置为 NetEvaluationMode->"Training" 时,如 DropoutLayer 这样的层会显示出训练而不是普通的评估一样的行为.
- Normal[NetChain[…]] 返回用于构建网络的层的列表或关联. EdgeList[NetChain[…]] 返回网络中的连接列表.
- NetChain[…][[spec]] 从网络中提取由 spec 指定的层.
- 可通过 NetReplacePart、NetReplace、NetRename、NetFlatten、NetDelete、NetTake、NetDrop、NetInsert、… 对 NetChain[…] 网络进行转换.
- Options[NetChain] 给出构建网络的默认选项的列表. Options[NetChain[…]] 给出在一些数据上运行网络的默认选项列表.
- Information[NetChain[…]] 给出关于该网络的报告.
- Information[NetChain[…],prop] 给出 NetChain[…] 的属性 prop 的值. 可能的属性与 NetGraph 相同.
范例
打开所有单元关闭所有单元范围 (4)
用 Part 语句提取第一层:
ElementwiseLayer 和 LinearLayer 使用特殊的语法:
属性和关系 (5)
Wolfram Research (2016),NetChain,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetChain.html (更新于 2022 年).
文本
Wolfram Research (2016),NetChain,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetChain.html (更新于 2022 年).
CMS
Wolfram 语言. 2016. "NetChain." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/NetChain.html.
APA
Wolfram 语言. (2016). NetChain. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetChain.html 年