/// <summary> /// 增加全连接层,仅用于BP网络 /// </summary> /// <param name="cnnFullLayer"></param> public void AddCnnFullLayer(int inputCount, int outputCount, CnnNode.ActivationFunctionTypes activationFunctionType, bool standardization) { CnnFullLayer cnnFullLayer = new CnnFullLayer(inputCount, outputCount, activationFunctionType, standardization); CnnFullLayerList.Add(cnnFullLayer); }
/// <summary> /// 增加全连接层,在卷积层后,要先创建完卷积层 /// </summary> /// <param name="cnnFullLayer"></param> public void AddCnnFullLayer(int outputCount, CnnNode.ActivationFunctionTypes activationFunctionType, bool standardization) { if (CnnFullLayerList.Count == 0) { //连接卷积层 var cnnConvolutionLayerLast = CnnConvolutionLayerList[CnnConvolutionLayerList.Count - 1];//最后的卷积层 CnnFullLayer cnnFullLayer = new CnnFullLayer(cnnConvolutionLayerLast.ConvolutionKernelCount * cnnConvolutionLayerLast.OutputWidth * cnnConvolutionLayerLast.OutputHeight, outputCount, activationFunctionType, standardization); CnnFullLayerList.Add(cnnFullLayer); } else { var cnnFullLayerLast = CnnFullLayerList[CnnFullLayerList.Count - 1];//最后的卷积层 CnnFullLayer cnnFullLayer = new CnnFullLayer(cnnFullLayerLast.OutputCount, outputCount, activationFunctionType, standardization); CnnFullLayerList.Add(cnnFullLayer); } }