Does the performance of neural networks depend on the method used to unroll weights ?
I don't really understand your notation and don't have a lot of experience with unrolling, but from my understanding there can only be one way of transforming your 2 weights (theta1 &amp; theta2) to a single one (theta). 

If you adapt your python code to something like:

theta = np.array(theta1,theta2)
theta = np.ravel(theta, order='F')
#theta = [1, 4, 2, 5, 3, 6]


Does it work now? If so, you can't just choose how to "unroll" your weights.