NetReplacePart
NetReplacePart[layer,"array"value]
替换网络层中的一个数组,返回一个新的层.
NetReplacePart[layer,"port"type]
返回一个新层或网络,其中的输入或输出端口为指定的类型.
NetReplacePart[net,"input"encoder]
为指定输入口添加一个 NetEncoder[…].
NetReplacePart[net,"output"decoder]
为指定输出口添加一个 NetDecoder[…].
NetReplacePart[net,lspeclayer]
NetReplacePart[net,NetArray[name]value]
设置网络或层内的共享数组位指定的值.
NetReplacePart[coder,"param"value]
返回一个新的 NetEncoder[…] 或 NetDecoder[…],其中参数已被替代.
NetReplacePart[net,{lspec,pspec}value]
NetReplacePart[…,{spec1val1,spec2val2,…}]
同时进行多个替换.
更多信息
- NetReplacePart 可替代层参数、层数组、层、编码器、解码器、编码器参数、解码器参数、输入数组大小和输出数组大小.
- NetReplacePart 支持的组成部分指定与 NetExtract 所用的一样.
- 当替换网络层中的一个数组时,新数组的维数必须与原来数组的相同.
- 在替换输入或输出时,为了能完整地指定一个已被部分指定的网络,可以使用以下任意值来指定端口的类型:
-
"Real" 单个实数 "Integer" 单个整数 n 长度为 n 的向量 {n1,n2,…} 维数为 n1×n2×… 的数组 "Varying" 长度可变的向量 {"Varying",n2,n3,…} 第一维度是变量,其余维度是 n2×n3×… 的数组 Automatic 一个数组,其形状应由推断而得 NetEncoder[…] 解码器(输出端口) NetDecoder[…] 解码器(输出端口) - 通过指定值 None 可以把编码器或解码器从端口移除.
- 一般情况下,改变 NetChain 或 NetGraph 的输出的维度是可能的,但有可能要通过类似于 NetReplacePart[net,{layernamenewlayer,"Output"newoutput}] 的语法改变中间的网络层.
- 如果替换指定会产生维度不兼容的网络,NetReplacePart 将失败.
范例
打开所有单元关闭所有单元基本范例 (1)
范围 (10)
创建一个包含 DropoutLayer,脱离概率为 0.5 的现有模型:
为一个层的输入添加 "Class" 编码器,以 {1,0} 和 {0,1} 这样的形式嵌入类别:
现在,所得的层可以接受 True 和 False 值作为输入:
重塑现有层以具有不同的输入和输出维度. 创建带有指定 NetEncoder 的层:
替代输入 NetEncoder 和输出 NetDecoder:
替代 NetChain 中的第二层:
替代现有 NetEncoder 的属性:
属性和关系 (1)
由 NetReplacePart 支持的部分规范与 NetExtract 使用的相同.
文本
Wolfram Research (2016),NetReplacePart,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetReplacePart.html (更新于 2020 年).
CMS
Wolfram 语言. 2016. "NetReplacePart." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/NetReplacePart.html.
APA
Wolfram 语言. (2016). NetReplacePart. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetReplacePart.html 年