def construct_functions(free_vars,model,py_x,loss,learning_rate): input_vars=free_vars.get_vars() params=model.get_params() update=deep.compute_updates(loss, params, learning_rate) train = theano.function(inputs=input_vars, outputs=loss, updates=update, allow_input_downcast=True) y_pred = T.argmax(py_x, axis=1) prob_dist=theano.function(inputs=[free_vars.X], outputs=py_x, allow_input_downcast=True) test=theano.function(inputs=[free_vars.X], outputs=y_pred, allow_input_downcast=True) return train,test,prob_dist
def create_ae_fun(free_vars,model,rand,hyper_params): learning_rate=hyper_params['learning_rate'] corruption_level=hyper_params['corruption_level'] tilde_x = get_corrupted_input(free_vars,corruption_level,rand) x=free_vars.X y = get_hidden_values(model,tilde_x) z = get_reconstructed_input(model,y) loss= tools.get_l2_loss(x,z) input_vars=free_vars.get_vars() params=model.get_params() updates=deep.compute_updates(loss, params, learning_rate) train = theano.function([x],loss,updates=updates) test = theano.function([x],y) get_image = theano.function([x],z) return train,test,get_image