表示一个网络层,接受维度为 {d1,d2,…} 的输入,将其复制 n 次,产生维度 {n,d1,d2,…} 的输出.
ReplicateLayer[{n1,n2,…,nm}]
表示一个网络层,接受维度为 {d1,d2,…} 的输入,对其进行复制,产生维度为 {n1,n2,…,nm,d1,d2,…} 的输出.
ReplicateLayer[dims,m]
进行复制,使得 dims 出现在输出维度列表的位置 m 处.
ReplicateLayer
表示一个网络层,接受维度为 {d1,d2,…} 的输入,将其复制 n 次,产生维度 {n,d1,d2,…} 的输出.
ReplicateLayer[{n1,n2,…,nm}]
表示一个网络层,接受维度为 {d1,d2,…} 的输入,对其进行复制,产生维度为 {n1,n2,…,nm,d1,d2,…} 的输出.
ReplicateLayer[dims,m]
进行复制,使得 dims 出现在输出维度列表的位置 m 处.
更多信息和选项
- ReplicateLayer[n] 等价于 ReplicateLayer[n,1].
- 对于 ReplicateLayer[n],输出数组的阶数比输入数组的阶数大 1.
- 对于 ReplicateLayer[{n1,…,nm}],输出数组的阶数比输入数组的阶数大 m.
- n 或 ni 中的任何一个都可以为 Automatic,从 NetChain 等的前后连接中推断出精确的输出维度.
- ReplicateLayer[…][input] 把层应用到 input 显式计算输出.
- ReplicateLayer[…][{input1,input2,…}] 显式计算每个 inputi 的输出.
- 当 NumericArray 作为输入时,输出将是 NumericArray.
- ReplicateLayer 开放下列端口以便用在 NetGraph 等中:
-
"Input" 任意阶的数组 "Output" 比输入更高阶的数组 - ReplicateLayer 通常被用在 NetChain、NetGraph 等中.
- ReplicateLayer 一般根据在 NetChain 等的上下文中推断输入的维数. 使用 ReplicateLayer["Input"->{n1,n2,…}] 明确指定维数为 {n1,n2,…}.
- Options[ReplicateLayer] 给出构建网络层的默认选项的列表. Options[ReplicateLayer[…]] 给出在一些数据上运行网络层的默认选项列表.
- Information[ReplicateLayer[…]] 给出关于该网络层的报告.
- Information[ReplicateLayer[…],prop] 给出 ReplicateLayer[…] 的属性 prop 的值. 可能的属性与 NetGraph 相同.
范例
打开所有单元 关闭所有单元基本范例 (2)
创建一个 ReplicateLayer,4 次替代其输入:
ReplicateLayer[4]创建一个 ReplicateLayer, 3 次替代其输入:
repl = ReplicateLayer[3]repl[{1, 2}]范围 (6)
Arguments (2)
创建一个 ReplicateLayer,重复其输入 3×4 次:
repl = ReplicateLayer[{3, 4}]repl[{1, 2}]//MatrixForm创建一个 ReplicateLayer,把一个向量的元素复制成长度为 3 的行:
repl = ReplicateLayer[3, 2]repl[{1, 2}]//MatrixFormrepl2 = ReplicateLayer[3, 1]repl2[{1, 2}]//MatrixFormPorts (4)
创建一个 ReplicateLayer,接受指定大小的输入:
repl = ReplicateLayer[3, "Input" -> {2, 2}]repl[{{1, 2}, {3, 4}}]//MatrixForm创建一个含有 ReplicateLayer 的 NetGraph ,自动把向量传递到给定大小的矩阵:
graph = NetGraph[{AggregationLayer[Mean], ReplicateLayer[Automatic, 2], ThreadingLayer[Plus]}, {1 -> 2 -> 3, NetPort["Input"] -> 3} ]现在,该 NetGraph 对多个输入维度有效:
NetReplacePart[graph, "Input" -> {3, 2}]NetReplacePart[graph, "Input" -> {100, 23}]创建一个 ReplicateLayer,重复单个数字形成一个向量:
repl = ReplicateLayer[3, "Input" -> "Real"]repl[2.9]repl[{2.9, 3.5}]创建一个 NetChain,通过重复复制 4 幅图像,然后展平空间维数:
repl = NetChain[{TransposeLayer[1 -> 3], ReplicateLayer[2], FlattenLayer[1], TransposeLayer[2 -> 1], ReplicateLayer[2], FlattenLayer[1], TransposeLayer[{3 -> 1, 2 -> 3}]}, "Input" -> NetEncoder["Image"], "Output" -> NetDecoder["Image"]]repl[[image]]可能存在的问题 (2)
ReplicateLayer 不接受非数值的输入:
repl = ReplicateLayer[2, "Input" -> 2];
repl[{1, 2}]repl[{1, "x"}]如果 pos 大于输入的阶数多于一个以上,则 ReplicateLayer[dims,pos] 会失败:
repl = ReplicateLayer[{3}, 5, "Input" -> {3, 2, 4}]技术笔记
相关指南
-
▪
- 神经网络层
文本
Wolfram Research (2017),ReplicateLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ReplicateLayer.html (更新于 2017 年).
CMS
Wolfram 语言. 2017. "ReplicateLayer." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/ReplicateLayer.html.
APA
Wolfram 语言. (2017). ReplicateLayer. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ReplicateLayer.html 年
BibTeX
@misc{reference.wolfram_2026_replicatelayer, author="Wolfram Research", title="{ReplicateLayer}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/ReplicateLayer.html}", note=[Accessed: 29-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_replicatelayer, organization={Wolfram Research}, title={ReplicateLayer}, year={2017}, url={https://reference.wolfram.com/language/ref/ReplicateLayer.html}, note=[Accessed: 29-October-2026]}