# layer2_h input shape req : batch_size x (50*4*4) layer2_h_input = layer1.output.flatten(2) # n_in = 50x4x4 pixels; n_out = 500 hidden nodes layer2_h = HiddenLayer(rng=rng,input=layer2_h_input,n_in=50*4*4,n_out=500) # In[ ]: # Layer 3 : Output layer : LogisticRegression layer3_o = LogisticRegression(input=layer2_h.output,n_in=500,n_out=10) # In[ ]: # cost cost = layer3_o.neg_log_likelihood(y) # >> setup gradient expression << ### Need :parameters params = layer3_o.params + layer2_h.params + layer1.params + layer0.params gparams = T.grad(cost,params) # In[ ]: ## Updates ## updates = [(param, param - gparam*learning_rate) for param,gparam in zip(params,gparams)] index = T.lscalar('index') # compile train