Extensive changes to make everything much more modular, though probably at a tiny bit cost in speed. Now you can add to the layer def either activation:relu, which will add a ReLU layer automatically, or drop_prob:0.5, which will automatically add dropout layer. Or you can specify these manually as well and add them as their own layers wherever you like. However, the conv and fullyconn layers do not have ReLU nonlinearities built in, only perform dot products. This makes more sense and is more modular. Also adding possibility to have per layer weight decays specified.