def set_data(self, X, Y):
assert X.shape[<NUM_LIT:1>]==self.Z.shape[<NUM_LIT:1>]<EOL>self.X, self.Y = X, Y<EOL>
Set the data without calling parameters_changed to avoid wasted computation
If this is called by the stochastic_grad function this will immediately update the gradients