def __init__(self, exp_file='exp.json', encoder_file=None, decoder_file=None, directory=None): # files if directory is not None: curdir = os.getcwd() os.chdir(os.path.join(curdir, directory)) # exp_file = os.path.join(directory, exp_file) # load parameters self.params = hyperparameters.load_params(exp_file, False) if encoder_file is not None: self.params["encoder_weights_file"] = encoder_file if decoder_file is not None: self.params["decoder_weights_file"] = decoder_file # char stuff chars = yaml.safe_load(open(self.params['char_file'])) self.chars = chars self.params['NCHARS'] = len(chars) self.char_indices = dict((c, i) for i, c in enumerate(chars)) self.indices_char = dict((i, c) for i, c in enumerate(chars)) # encoder, decoder self.enc = load_encoder(self.params) self.dec = load_decoder(self.params) self.encode, self.decode = self.enc_dec_functions() self.data = None if self.params['do_prop_pred']: self.property_predictor = load_property_predictor(self.params) # Load data without normalization as dataframe df = pd.read_csv(self.params['data_file']) df.iloc[:, 0] = df.iloc[:, 0].str.strip() df = df[df.iloc[:, 0].str.len() <= self.params['MAX_LEN']] self.smiles = df.iloc[:, 0].tolist() if df.shape[1] > 1: self.data = df.iloc[:, 1:] self.estimate_estandarization() if directory is not None: os.chdir(curdir) return
import yaml import time import os from data_input import vectorize_data from hyperparameters import load_params import argparse parser = argparse.ArgumentParser() parser.add_argument('-e', '--exp_file', help='experiment file', default='exp.json') parser.add_argument('-d', '--directory', help='exp directory', default=None) args = vars(parser.parse_args()) if args['directory'] is not None: args['exp_file'] = os.path.join(args['directory'], args['exp_file']) params = load_params(args['exp_file']) print("All params:", params) # load data X_train, X_test = vectorize_data(params) print(X_train[0]) import matplotlib.pyplot as plt plt.imshow(X_train[0].reshape(-1, 35)) plt.show()
epochs=params['epochs'], initial_epoch=params['prev_epochs'], callbacks=callbacks, verbose=keras_verbose, validation_data=[ X_test, model_test_targets] ) encoder.save(params['encoder_weights_file']) decoder.save(params['decoder_weights_file']) print('time of run : ', time.time() - start_time) print('**FINISHED**') return if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-e', '--exp_file', help='experiment file', default='./exp.json') parser.add_argument('-d', '--directory', help='exp directory', default=None) args = vars(parser.parse_args()) if args['directory'] is not None: args['exp_file'] = os.path.join(args['directory'], args['exp_file']) params = hyperparameters.load_params(args['exp_file']) print("All params:--------------------------------\n", params) print("----------------------------------------") main_no_prop(params)