Model persistence¶
We next demonstrate how simple it is to load a pre-trained model and obtain some predictions. The example assumes you are in the ./examples folder of the repo.
import autoBOTLib
import pandas as pd
## Load example data frame
dataframe = pd.read_csv("../data/insults/train.tsv", sep="\t")
train_sequences = dataframe['text_a'].values.tolist()
train_targets = dataframe['label'].values
autoBOTLibObj = autoBOTLib.GAlearner(
train_sequences, # input sequences
train_targets, # target space
time_constraint=2, # time in hours
num_cpu="all", # number of CPUs to use
task_name="example test", # task identifier
hof_size=3, # size of the hall of fame
top_k_importances=25, # how many top features to output as final ranking
memory_storage=
"../memory/conceptnet.txt.gz", # tripled base for concept features
representation_type="symbolic") # or symbolic or neural
autoBOTLibObj.evolve(
nind=8, ## population size
strategy="evolution", ## optimization strategy
crossover_proba=0.6, ## crossover rate
mutpb=0.4) ## mutation rate
## Persistence demonstration (how to store models for further use?)
autoBOTLib.store_autobot_model(autoBOTLibObj, "../stored_models/example_insults_model.pickle")
Let’s next load the very same model and do some predictions.
## A simple example showcasing the minimal usecase of autoBOTLib on an insults classification data.
import autoBOTLib
import pandas as pd
## Simply load the model
autoBOTLibObj = autoBOTLib.load_autobot_model("../stored_models/example_insults_model.pickle")
dataframe2 = pd.read_csv("../data/insults/test.tsv", sep="\t")
test_sequences = dataframe2['text_a'].values.tolist()
test_targets = dataframe2['label'].values
## Predict with the model
predictions = autoBOTLibObj.predict(test_sequences)
performance = autoBOTLib.compute_metrics(
"first_run_task_name", predictions,
test_targets) ## compute F1, acc and F1_acc (as in GLUE)
print(performance)