for epoch in xrange(num_epochs): print epoch progress_filename_train = '/data/home/jianping/Desktop/adensine/cnn/batch200/log_files/train/drug_like_train-' + str( epoch) + neural_net_present + '_' + test_type + '.csv' progress_filename_val = '/data/home/jianping/Desktop/adenosine/cnn/batch200/log_files/val/drug_like_val-' + str( epoch) + neural_net_present + '_' + test_type + '.csv' #OUTPUT_train = open(progress_filename_train, 'a') output_train_df = pd.DataFrame() output_val_df = pd.DataFrame() # output_test_df['structure'] = [] # output_test_df['y_value'] = [] # output_test_df['test_prediction'] = [] #this function makes a list of lists that is the minibatch expr_list_of_lists = seqHelper.gen_batch_list_of_lists( train_list, batch_size, (random_seed + epoch)) #print len(train_list),batch_size,(random_seed+epoch) # print expr_list_of_lists #then loop through the minibatches #print len(expr_list_of_lists) for counter, experiment_list in enumerate(expr_list_of_lists): temp_train_df = pd.DataFrame() #print counter, experiment_list x_atom,x_bonds,x_atom_index,x_bond_index,x_mask,y_val = seqHelper.gen_batch_XY_reg(experiment_list,\ smiles_to_measurement,smiles_to_atom_info,smiles_to_bond_info,\ smiles_to_atom_neighbors,smiles_to_bond_neighbors,smiles_to_atom_mask) train_prediction, train_cost, train_acc = train_func( x_atom, x_bonds, x_atom_index, x_bond_index, x_mask, y_val) temp_train_df['structure'] = experiment_list
test_predicition = test_predicition.flatten() test_cost = lasagne.objectives.squared_error(target_vals, test_predicition) #get my theano funtions train_func = theano.function([input_molecules,input_molecules_mask,\ target_vals], [train_prediction,train_cost,visual_predictions_train], updates=updates, allow_input_downcast=True) test_func = theano.function([input_molecules,input_molecules_mask,\ target_vals],[test_predicition,test_cost,visual_predictions_test], allow_input_downcast=True) print "compiled functions" #now run through all my epochs for epoch in xrange(num_epochs): #generate my training minibatches expr_list_of_lists_train = seqHelper.gen_batch_list_of_lists( train_list, batch_size, (epoch + random_seed)) for experiment_list in expr_list_of_lists_train: _,x_vals,x_mask,y_vals, = seqHelper.gen_batch_XY_rnn(experiment_list,name_to_sequence,\ name_to_measurement,max_seq_length,alphabet_to_one_hot_sequence,output_dim) #then do the training train_prediction, train_error, train_viz = train_func( x_vals, x_mask, y_vals) test_error_list = [] if epoch % 1 == 0: #generate my minibatches expr_list_of_lists_test = seqHelper.gen_batch_list_of_lists(
#then define my theano functions for train and test train_func = theano.function([input_atom,input_bonds,input_atom_index,\ input_bond_index,input_mask,target_vals], [train_prediction,train_cost,visual_predictions_train],\ updates=updates, allow_input_downcast=True) test_func = theano.function([input_atom,input_bonds,input_atom_index,\ input_bond_index,input_mask,target_vals], [test_predicition,test_cost,visual_predictions_test], allow_input_downcast=True) print "compiled functions" #then run through my epochs for epoch in xrange(num_epochs): #get my minibatch expr_list_of_lists_train = seqHelper.gen_batch_list_of_lists(train_list,batch_size,(random_seed+epoch)) #run through my training minibatches for counter,experiment_list in enumerate(expr_list_of_lists_train): x_atom,x_bonds,x_atom_index,x_bond_index,x_mask,y_val = seqHelper.gen_batch_XY_reg(experiment_list,\ smiles_to_measurement,smiles_to_atom_info,smiles_to_bond_info,\ smiles_to_atom_neighbors,smiles_to_bond_neighbors,smiles_to_atom_mask) train_prediction,train_error,train_viz = train_func(x_atom,x_bonds,x_atom_index,x_bond_index,x_mask,y_val) test_error_list = [] if epoch % 1 == 0: expr_list_of_lists_test = seqHelper.gen_batch_list_of_lists(test_list,batch_size,(random_seed+epoch)) #then run through the test data