public LeNetSnapshot(LeNetNetwork network) { Network = network; Input = new StepSnapshot(network.InputStep); FirstConvolutions = network.FirstConvolutions.Select(step => new StepSnapshot(step)).ToList().AsReadOnly(); FirstSubsampling = network.FirstSubsampling.Select(step => new StepSnapshot(step)).ToList().AsReadOnly(); SecondConvolutions = network.SecondConvolutions.Select(step => new StepSnapshot(step)).ToList().AsReadOnly(); SecondSubsampling = network.SecondSubsampling.Select(step => new StepSnapshot(step)).ToList().AsReadOnly(); Consolidation = new StepSnapshot(network.ConsolidationStep, 1); Output = new StepSnapshot(network.OutputStep, LeNetConfigurations.OutputWidth); }
public void Initialise() { Console.WriteLine("Loading Training Data Set..."); trainingDataSet = DataSets.GetTrainingSet().Randomise(0); Console.WriteLine("Loading Generalisation Data Set..."); generalisationDataSet = DataSets.GetGeneralisationSet().Randomise(1); Console.WriteLine("Creating LeNet..."); LeNetConfiguration configuration = LeNetConfigurations.FromCharacters('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); Network = new LeNetNetwork(configuration); Snapshot = new LeNetSnapshot(Network); Network.LearningRate = 0.0005 / 16.0; Network.Mu = 0.02; bool isPreTraining = Network.IsPreTraining; }