nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.DeepLearning / CNNLayerArguments

CNNLayerArguments

Full name Microsoft.VisualBasic.MachineLearning.CNN.CNNLayerArguments Assembly Microsoft.VisualBasic.DeepLearning Members 4

层的“规格”(layer specification):一个被延迟创建的层描述。

00 Remarks

存在的意义是支持用流式写法来搭建网络:由 CNNLayers 里的工厂函数产出规格对象, 再由 LayerBuilder 的 + 运算符在正确的时机把它实例化并追加进层列表:

 Dim cnn As LayerBuilder = New LayerBuilder() +
     input_layer({28, 28}, 1) +
     conv_layer(5, 32, 1, 2) +
     pool_layer(2, 2, 0) +
     relu_layer() +
     full_connected_layer(10) +
     softmax_layer()
 

之所以必须“延迟创建”,是因为本库的层在构造时就需要拿到 OutputDefinition (它保存着上一层的输出尺寸,用来推算本层的输入尺寸),而那个对象是 LayerBuilder 的内部状态,在链式表达式求值之前无法被引用。

与 R# 的 MLkit(studio\Rsharp_kit\MLkit\MachineLearning\CNNLayerArguments.vb)中同名类型的 差异:那里用 type 字符串加 args 字典来携带参数,是因为 R# 需要在脚本层以弱类型的 方式传递这些对象;在 VB 里直接用委托表达更类型安全——参数在编译期就被捕获, 也不存在“未知层类型”这种运行期分支。

01 Syntax

Microsoft.VisualBasic.MachineLearning.CNN.CNNLayerArguments

02 Methods

NameOverloadsSummary
CreateLayer 1 在该构建器上创建并追加本规格所描述的层。
ToString 1

03 Properties

NameOverloadsSummary
Name 1 可读的规格描述,例如 conv_layer(sx=5, filters=32, stride=1, padding=2)

04 Fields

NameOverloadsSummary
factory 1 真正把层实例化并追加到构建器上的动作

05 Members

method CreateLayer #
CreateLayer(LayerBuilder)

在该构建器上创建并追加本规格所描述的层。

Parameters
NameTypeDescription
builderLayerBuilder

正在被构建的网络

property Name #
Name

可读的规格描述,例如 conv_layer(sx=5, filters=32, stride=1, padding=2)

field factory #
factory

真正把层实例化并追加到构建器上的动作

method ToString #
ToString()