CNTK C# - 将输出连接到特定的图层输入

问题描述 投票:0回答:1

我需要创建10个神经元,每个神经元有2个输入。其中每个都有一个输出,应该连接到一个有10个输入和一个输出的层。

我对输入神经元的定义:

Function in1 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in2 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in3 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in4 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in5 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in6 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in7 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in8 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in9 =  Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);
Function in10 = Util.Dense(CNTK.Variable.InputVariable(CNTK.NDShape.CreateNDShape(new int[] { 2 }), CNTK.DataType.Float), 1, computeDevice);

具有10个输入的图层:

mergeLayer = Util.Dense(CNTK.NDShape.CreateNDShape(new int[] { 10 }), CNTK.DataType.Float, 1, computeDevice);

如何将10个输出连接到mergeLayer的每个输入?

c# neural-network deep-learning cntk
1个回答
0
投票

通常,您不单独创建图层函数,而是将一个函数作为输入参数传递给另一个函数。使用cntk.splice连接数据。在Python中:

import cntk as C

input1 = C.ops.input_variable((4, 2), np.float32)

in1 =  C.layers.Dense(1)( input1[0] )
in2 =  C.layers.Dense(1)( input1[1] )
in3 =  C.layers.Dense(1)( input1[2] )
in4 =  C.layers.Dense(1)( input1[3] )

allIn = C.splice( in1, in2, in3, in4, axis=0 )

mergeLayer = C.layers.Dense(1)( allIn )
© www.soinside.com 2019 - 2024. All rights reserved.