Generator Factory
We need a factory to create a train generator and an architecture generator,
see Abstract Factory Pattern
The Factories should be defined in their respective projects, i.e. CNNArch2Caffe2 should contain a Caffe2GeneratorFactory; the CNNArch2MXNet Generator project should contain the MXNetFactory.