def reset(self, params, rep): logging.info("Resetting experiment, parameters: %s", str(params)) datadir = params['datadir'] dataset_path = os.path.join(datadir, params['dataset'] + '.json') random.seed(abs(hash(str(params)))) with open(dataset_path) as dataset_file: dataset = json.load(dataset_file) vectors_path = os.path.join(datadir, params['vectors']) print "DB path: ", vectors_path vectors = TermDB(vectors_path) terms = set(x[0] for x in dataset) | set(x[1] for x in dataset) vectors.nouns.load(terms) maker = ClassifierMaker(vectors, params) classifier = maker.make(params['classifier']) num_folds = params['repetitions'] self.experiment = EntailmentExperiment(dataset, classifier, num_folds)
class EntailmentSuite(PyExperimentSuite): def __init__(self, **options): self.additional_options = options logging.info("Additional options: %s", str(options)) super(EntailmentSuite, self).__init__() def reset(self, params, rep): logging.info("Resetting experiment, parameters: %s", str(params)) datadir = params['datadir'] dataset_path = os.path.join(datadir, params['dataset'] + '.json') random.seed(abs(hash(str(params)))) with open(dataset_path) as dataset_file: dataset = json.load(dataset_file) vectors_path = os.path.join(datadir, params['vectors']) print "DB path: ", vectors_path vectors = TermDB(vectors_path) terms = set(x[0] for x in dataset) | set(x[1] for x in dataset) vectors.nouns.load(terms) maker = ClassifierMaker(vectors, params) classifier = maker.make(params['classifier']) num_folds = params['repetitions'] self.experiment = EntailmentExperiment(dataset, classifier, num_folds) def iterate(self, params, rep, n): logging.info("Beginning iteration %d, repetition %d", n, rep) assert n == 0 confusion, time, info, classparams, predictions, target = self.experiment.runFold( rep) return { 'rep': rep, 'iter': n, 'confusion': confusion, 'time': time.total_seconds(), 'classifier': params['classifier'], 'info': info, 'params': classparams, 'predictions': predictions, 'target': target } def parse_opt(self): """ parses the command line options for different settings. """ options, args = super(EntailmentSuite, self).parse_opt() self.options.__dict__.update(self.additional_options)
def reset(self, params, rep): logging.info("Resetting experiment, parameters: %s", str(params)) datadir = params['datadir'] dataset_path = os.path.join(datadir, params['dataset'] + '.json') random.seed(abs(hash(str(params)))) with open(dataset_path) as dataset_file: dataset = json.load(dataset_file) vectors_path = os.path.join(datadir, params['vectors']) print "DB path: ", vectors_path vectors = TermDB(vectors_path) maker = ClassifierMaker(vectors, params) classifier = maker.make(params['classifier']) num_folds = params['repetitions'] self.experiment = EntailmentExperiment(dataset, classifier, num_folds)
class EntailmentSuite(PyExperimentSuite): def __init__(self, **options): self.additional_options = options logging.info("Additional options: %s", str(options)) super(EntailmentSuite, self).__init__() def reset(self, params, rep): logging.info("Resetting experiment, parameters: %s", str(params)) datadir = params['datadir'] dataset_path = os.path.join(datadir, params['dataset'] + '.json') random.seed(abs(hash(str(params)))) with open(dataset_path) as dataset_file: dataset = json.load(dataset_file) vectors_path = os.path.join(datadir, params['vectors']) print "DB path: ", vectors_path vectors = TermDB(vectors_path) terms = set(x[0] for x in dataset) | set(x[1] for x in dataset) vectors.nouns.load(terms) maker = ClassifierMaker(vectors, params) classifier = maker.make(params['classifier']) num_folds = params['repetitions'] self.experiment = EntailmentExperiment(dataset, classifier, num_folds) def iterate(self, params, rep, n): logging.info("Beginning iteration %d, repetition %d", n, rep) assert n == 0 confusion, time, info, classparams, predictions, target = self.experiment.runFold(rep) return {'rep':rep, 'iter':n, 'confusion':confusion, 'time':time.total_seconds(), 'classifier':params['classifier'], 'info': info, 'params': classparams, 'predictions': predictions, 'target': target} def parse_opt(self): """ parses the command line options for different settings. """ options, args = super(EntailmentSuite, self).parse_opt() self.options.__dict__.update(self.additional_options)