def main(): if len(sys.argv) <= 2: print( "please specify a number of examples and a model name (e.g. models.baseline.random_handle)" ) sys.exit(1) eval_set_size = int(sys.argv[1]) module_name = sys.argv[2] # splitting training data print("splitting training data into", eval_set_size, "(test) v. rest (train)") data.load_train() tweets = np.array(data.TRAIN) np.random.seed(SEED) np.random.shuffle(tweets) test_tweets, train_tweets = tweets[:eval_set_size], tweets[eval_set_size:] hyper_parameters = models.parse_hyper_parameters(sys.argv[3:]) model_class = importlib.import_module(module_name).Model print("Model:", module_name, hyper_parameters) print("Training...") model = model_class(tqdm(train_tweets, dynamic_ncols=True), **hyper_parameters) print("Evaluating...") accuracy, correct, tests = eval.evaluate( model, tqdm(test_tweets, dynamic_ncols=True)) print(f"Label accuracy: {correct}/{tests} ({accuracy:%})")
def main(): if len(sys.argv) <= 1: print( "please specify a model name (e.g. models.baseline.random_handle)") sys.exit(1) module_name = sys.argv[1] hyper_parameters = models.parse_hyper_parameters(sys.argv[2:]) model = models.load(module_name, hyper_parameters) data.load_devel1000() print("Model:", module_name, hyper_parameters) accuracy, correct, tests = evaluate( model, tqdm(data.DEVEL1000, dynamic_ncols=True)) print(f"Label accuracy: {correct}/{tests} ({accuracy:%})")
def main(): if len(sys.argv) <= 1: print( "please specify a model name (e.g. models.baseline.random_handle)") sys.exit(1) module_name = sys.argv[1] hyper_parameters = models.parse_hyper_parameters(sys.argv[2:]) model_class = importlib.import_module(module_name).Model print("Model:", module_name, hyper_parameters) print("Training...") model = model_class(tqdm(data.TRAIN, dynamic_ncols=True), **hyper_parameters) print("Evaluating...") accuracy, correct, tests = eval.evaluate( model, tqdm(data.DEVEL, dynamic_ncols=True)) print(f"Label accuracy: {correct}/{tests} ({accuracy:%})")
def main(): # interpret command line arguments if len(sys.argv) <= 1: print( "please specify a model name (e.g. models.baseline.random_handle)") sys.exit(1) module_name = sys.argv[1] hyper_parameters = models.parse_hyper_parameters(sys.argv[2:]) # training model module = importlib.import_module(module_name) print( f"Training {module_name}.Model with hyperparameters {hyper_parameters}" ) model = module.Model(tqdm(data.TRAIN, dynamic_ncols=True), **hyper_parameters) print("Training done!") models.save(model, module_name, hyper_parameters)
def main(): if len(sys.argv) <= 1: print( "please specify a model name (e.g. models.baseline.random_handle)") sys.exit(1) module_name = sys.argv[1] hyper_parameters = models.parse_hyper_parameters(sys.argv[2:]) model_class = importlib.import_module(module_name).Model print("Model:", module_name, hyper_parameters) print("Training on ALL of the training data...") model = model_class(tqdm(data.ALL_TRAIN, dynamic_ncols=True), **hyper_parameters) print("Labelling unlabelled tweets...") for tweet in tqdm(data.TEST, dynamic_ncols=True): tweet.handle = model.predict(tweet) print("Saving submission...") current_time = time.strftime('%m-%d_%H-%M-%S') model_name = models.model_name(module_name, hyper_parameters) filename = f"../submissions/submission-{current_time}-{model_name}.csv" data.export(filename, data.TEST) print("Saved to:", filename)