public LeNetSnapshot(LeNetNetwork network)
{
Network = network;
Input = new StepSnapshot(network.inputLayer);
FirstConvolutions = network.FirstConvolutions.Select(step => new StepSnapshot(step)).ToArray();
FirstSubsampling = network.FirstSubsampling.Select(step => new StepSnapshot(step)).ToArray();
SecondConvolutions = network.SecondConvolutions.Select(step => new StepSnapshot(step)).ToArray();
SecondSubsampling = network.SecondSubsampling.Select(step => new StepSnapshot(step)).ToArray();
Consolidation = new StepSnapshot(network.Consolidation, 1);
Output = new StepSnapshot(network.Output, LeNetConfiguration.OutputWidth);
Marking = new StepSnapshot(network.Marking, network.Marking.Length);
}