예제 #1
0
        private void Form4_2_Load(object sender, EventArgs e)
        {
            cnn = new Cnn();
            #region LeNet-5 结构

            /*
             * cnn.AddCnnConvolutionLayer(6, 32, 32, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
             *  2, 2, CnnPooling.PoolingTypes.MaxPooling, false);
             * cnn.AddCnnConvolutionLayer(16, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
             *  2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
             * cnn.AddCnnConvolutionLayer(120, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
             *  0, 0, CnnPooling.PoolingTypes.None, false, false);
             * cnn.AddCnnFullLayer(84, CnnNode.ActivationFunctionTypes.Tanh, false);
             * cnn.AddCnnFullLayer(10, CnnNode.ActivationFunctionTypes.Tanh, false);
             * //*/
            #endregion
            cnn.AddCnnConvolutionLayer(6, 254 * 2, 252, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
                                       2, 2, CnnPooling.PoolingTypes.MaxPooling, false);
            cnn.AddCnnConvolutionLayer(16, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
                                       2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
            cnn.AddCnnConvolutionLayer(20, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
                                       2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
            cnn.AddCnnFullLayer(84, CnnNode.ActivationFunctionTypes.Tanh, false);
            cnn.AddCnnFullLayer(1, CnnNode.ActivationFunctionTypes.Tanh, false);
        }
예제 #2
0
 private void CreateBP()
 {
     cnn = new Cnn();
     cnn.AddCnnConvolutionLayer(8, bpWidth, bpHeight, 20, 20, 5, 5, CnnNode.ActivationFunctionTypes.Tanh,
                                2, 2, CnnPooling.PoolingTypes.MaxPooling, false);
     cnn.AddCnnConvolutionLayer(20, 10, 10, 3, 3, CnnNode.ActivationFunctionTypes.Tanh,
                                2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
     cnn.AddCnnConvolutionLayer(40, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
                                2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
     cnn.AddCnnConvolutionLayer(60, 5, 5, 1, 1, CnnNode.ActivationFunctionTypes.Tanh,
                                2, 2, CnnPooling.PoolingTypes.MeanPooling, false, false);
     //cnn.AddCnnConvolutionLayer(80, 5, 5, 1, 1, 1, 2, 2, 1);
     //cnn.AddCnnConvolutionLayer(100, 5, 5, 1, 1, 1, 2, 2, 1);
     cnn.AddCnnFullLayer(300, CnnNode.ActivationFunctionTypes.Tanh, false);
     cnn.AddCnnFullLayer(bpRectangleCount * 4, CnnNode.ActivationFunctionTypes.Tanh, false);
 }