dtree_synth_agbot.py 1.28 KiB
from csv import Dialect
import itertools
import json
#import matplotlib.pyplot as plt
import pathlib
import pickle
import traceback
from typing import Dict, Hashable, List, Tuple
import numpy as np
import z3
from dtree_learner import DTreeLearner as Learner
from gem_stanley_teacher import DTreeGEMStanleyGurobiTeacher as Teacher
def load_examples_from_npz(file_name: str, spec) -> Tuple[List[Tuple[float, ...]], List[Tuple[float, ...]]]:
print("Loading examples")
npz_data = np.load(file_name,allow_pickle=True)
exit(0)
with open(file_name, "rb") as pickle_file_io:
pkl_data = pickle.load(pickle_file_io)
truth_samples_seq = pkl_data["truth_samples"]
# Convert from sampled states and percepts to positive and negative examples for learning
pos_exs, neg_exs, num_excl_exs = [], [], 0
for _, ss in truth_samples_seq:
for s in ss:
if np.any(np.isnan(s)):
num_excl_exs += 1
elif spec(s):
pos_exs.append(s)
else:
neg_exs.append(s)
print("# Excluded NaN examples:", num_excl_exs)
return pos_exs, neg_exs
if __name__ == "__main__":
load_examples_from_npz("data/800_truths-uniform_partition_4x20-1.2m-pi_12-one_straight_road-2021-10-27-08-49-17.bag.pickle", None)