Beispiel #1
0
        public ConvolutionalTopology(int[] layers,double? bias,LayerConnector[] map,IContinuousActivator func)
        {
            Utility.Verify(layers,l => l!=null && l.All(x => x>0),"Invalid layers array");
            Utility.Verify(map,m => m.Length==layers.Length-1,"Invalid Map");
            Utility.Verify(func,f => f!=null,"Invalid func");

            Layers=layers;
            Bias=bias;
            Map=map;
            Func=func;
        }
Beispiel #2
0
 void BuildNetwork()
 {
     int[] layers=new int[] {
         841,1014,1250,100,10
     };
     LayerConnector[] map=new LayerConnector[] {
         new ConvolutionAuto(5,6,1,3),
         new ConvolutionAuto(5,50,6,1),
         new FullLayerConnector(),
         new FullLayerConnector()
     };
     ConvolutionalTopology topology=new ConvolutionalTopology(layers,1,map,new HyperbolicTangent());
     ConvolutionalGenerator generator=new ConvolutionalGenerator();
     Network=generator.Create(topology);
     Network.LearnFactor=0.0005;
     Network.Reset(-0.1,0.1);
 }
Beispiel #3
0
 public ConvolutionalTopology(int[] layers,double? bias,LayerConnector[] map)
     : this(layers,bias,map,new Sigmoid())
 {
 }
Beispiel #4
0
 public void TSSetUp()
 {
     int[] layers=new int[] {
         1024, //32x32 input image
         4704, //6 @ 28x28 convolution
         1176, //6 @  14x14 subsampling
         1600, //16 @ 10x10 convolution
         400, //16 @ 5x5 subsampling
         120, // 120x1x1 convolution!
         84, //full
         10 //full
     };
     LayerConnector[] map=new LayerConnector[] {
         new ConvolutionAuto(5,6,1,4),
         new SubSampling(6),
         new Convolution(5,16,6,4,GetSchema()),
         new SubSampling(16),
         new ConvolutionAuto(5,120,16,0),
         new FullLayerConnector(),
         new FullLayerConnector()
     };
     ConvolutionalTopology topology=new ConvolutionalTopology(layers,1,map);
     ConvolutionalGenerator generator=new ConvolutionalGenerator();
     Network=generator.Create(topology);
 }