NetInsertSharedArrays

NetInsertSharedArrays[net]

net 中的所有一般数组转换成 NetSharedArray 对象.

NetInsertSharedArrays[net,"prefix"]

为所有新共享的数组的名字加上一个前缀.

更多信息

  • 网络中的每个数组都将使用从其网络内的位置派生出来的名称进行共享.
  • 通过共享网络中的所有数组,在训练和计算期间,较大网络中的多个网络将表现相同.

范例

打开所有单元关闭所有单元

基本范例  (4)

把网络层中的数组转换成共享数组:

把网络层中的数组转换成共享数组,并使用特定的前缀:

把网络内多个层中的数组转换成共享数组:

创建一个 LSTM 网络层,每次在更大的网络中使用时,都会共享其中的数组:

在图的两个独立的输入上使用 LSTM 网络层,用 CatenateLayer 合并所得的状态:

属性和关系  (1)

把共享数组插入到一个层:

如果在一个较大的网络中多次使用,只创建并保存一组权重:

提取时,第 1 层和第 3 层的权重是相同的:

也可用 NetExtract 提取共享的数组:

整个网络中的数组所需的存储量与一个层所需的存储量相同:

可能存在的问题  (1)

不能共享 BatchNormalizationLayer"MovingMean""MovingVariance" 数组.

创建数组可以共享的 BatchNormalizationLayer

在一些数据上进行训练:

提取训练后的归一化批处理层:

"Scaling""Biases" 数组是共享的,但 "MovingMean""MovingVariance" 不是:

Wolfram Research (2018),NetInsertSharedArrays,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html (更新于 2019 年).

文本

Wolfram Research (2018),NetInsertSharedArrays,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html (更新于 2019 年).

CMS

Wolfram 语言. 2018. "NetInsertSharedArrays." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html.

APA

Wolfram 语言. (2018). NetInsertSharedArrays. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html 年

BibTeX

@misc{reference.wolfram_2024_netinsertsharedarrays, author="Wolfram Research", title="{NetInsertSharedArrays}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html}", note=[Accessed: 25-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_netinsertsharedarrays, organization={Wolfram Research}, title={NetInsertSharedArrays}, year={2019}, url={https://reference.wolfram.com/language/ref/NetInsertSharedArrays.html}, note=[Accessed: 25-November-2024 ]}