NetGraph

NetGraph[{layer1,layer2,},{m1n1,m2n2,}]
指定由 mi 层的输出作为 ni 层的输入的图定义的神经网络.

NetGraph["name1"layer1,"name2"layer2,,{"namem1""namen1",}]
指定带有明确命名层的网络.

更多信息更多信息

  • 对于带有单个输入口的网络,NetGraph[][data] 给出把网络应用于 data 的结果.
  • 对于带有多个输入口的网络,NetGraph[][<|port1->data1,|>] 为每个口提供数据.
  • 对于带有单个输出口的网络,NetGraph[][data] 给出该口的输出.
  • 对于带有多个输出口的网络,NetGraph[][data,portn] 给出口名称为 portn 的输出. NetGraph[][data]NetGraph[][data,All] 给出所有输出口的关联.
  • 如果任何层的一个或多个输入或输出口未连接,那它们会成为整个 NetGraph 的口.
  • 如果第 n 层有多个输入口或多个输出口,可以通过编写 NetPort[n,"port"] 来消除歧义.
  • 整个 NetGraph 的输入或输出口可以通过在连接列表中指定 NetPort["input"]->->NetPort["output"] 进行创建.
  • 如果层的多个输出口没有连接并共享同样的名称,那么它们会成为整个 NetGraph 的分离口,其中名字为 "Port1""Port2" 等.
  • 如果一个层具有接受多个输入的口,例如 CatenateLayerSummationLayer,这些可以由 {m1,m2,}->n 指定.
  • 图中连接的线性链可以指定为 layer1->layer2->->layern,它会导致每个 layeri 连接至 layeri+1.
  • 当定义模糊时,整个图的输入和输出口的张量形状可以用格式为 "port"shape 的选项指定. 有效的形状包括:
  • n长度为 n 的向量
    {n1,n2,}维度为 n1×n2× 的张量
    NetEncoder[](用于输入口)的加码器
    NetDecoder[](用于输出口)的解码器
    "type"NetEncoder["type"]NetDecoder["type"]
  • NetGraph 支持以下制定层的规范:
  • nDotPlusLayer[n]
    Ramp,LogisticSigmoid,ElementwiseLayer[f]
  • NetGraphStandardForm 显示图中层的连接性,并注释该边表示的张量大小. 点击图中的某层会显示关于该层的更多信息.
  • Take[NetGraph[],{start,end}] 返回给定的 NetGraph 的子图,其只包含连接 startend 的层. startend 可按以下格式给出:
  • n,"layer"指定的层
    NetPort[layer,"port"]指定层的输入或输出口
    NetPort["port"]整个图的输入或输出口
    All图的所有输入或输出
    {spec1,spec2,}speci 的合并
  • VertexDelete[NetGraph[],layer]NetGraph 中删除一层或多层,返回一幅新图. 具有同样输入和输出大小的层,诸如 ElementwiseLayer[] 会被删除,它们的输出会直接连接它们的输入.

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

基本范例  (2)基本范例  (2)

创建只有一层的网络:

In[1]:=
Click for copyable input
Out[1]=

把网络应用于输入:

In[2]:=
Click for copyable input
Out[2]=

创建具有两层的网络:

In[1]:=
Click for copyable input
Out[1]=

初始化网络中的所有阵列:

In[2]:=
Click for copyable input

把网络应用于输入:

In[3]:=
Click for copyable input
Out[3]=
2016年引入
(11.0)