@Override protected void cleanup(Context context) throws IOException, InterruptedException { if (queries != null) score(queries.values()); modelparameters.setDataBufferSize(1000000); modelparameters.openWrite(); for (Record r : newRecord) { modelparameters.write(r); log.info("score par=%s queries=%d map=%f", r.parameters, queries.size(), r.map); } modelparameters.closeWrite(); }
private ArrayList<String> removeKnownSettings(Repository repository, ArrayList<String> settings) { String[] storedparameters = repository.getStoredFreeParameters(); repository.getConf().setInt("fold", 0); // for if n-fold is used ModelParameters modelparameters = ModelParameters.get(repository, repository.configurationName()); modelparameters.setDataBufferSize(1000000); modelparameters.openRead(); Iterator<String> iter = settings.iterator(); while (iter.hasNext()) { String s = iter.next(); repository.addConfiguration(s); ModelParameters.Record newRecord = modelparameters.newRecord(storedparameters); ModelParameters.Record found = modelparameters.read(newRecord); if (found != newRecord) { iter.remove(); } } return settings; }
public static ModelParameters get(Repository repository, String model) { String label = canonicalName(ModelParameters.class, model); ModelParameters termid = (ModelParameters)repository.getStoredFeature(label); if (termid == null) { termid = new ModelParameters(repository, model); repository.storeFeature(label, termid); } return termid; }
protected void score( Collection<Query> queries ) throws IOException { if (testset == null) { testset = new TestSet(repository); resultstat = new ResultSet( metric, testset, this.queries.values()); } else { resultstat.setQueries(queries); } Record r = modelparameters.newRecord(storedparameters); r.map = resultstat.getMean(); newRecord.add(r); } }
@Override protected void setup(Context context) throws IOException, InterruptedException { repository = new Repository(context.getConfiguration()); conf = repository.getConf(); conf.set("rr.dir", ""); modelparameters = ModelParameters.get(repository, repository.configurationName()); storedparameters = repository.getStoredFreeParameters(); retriever = new Retriever(repository, context); metric = QueryMetric.create(conf.get("tuner.metric", "QueryMetricAP")); }
public Record newRecord( String settings[] ) { return getFile().newRecord(settings); }
private ArrayList<String> removeKnownSettings(Repository repository, ArrayList<String> settings) { String[] storedparameters = repository.getStoredFreeParameters(); repository.getConf().setInt("fold", 0); // for if n-fold is used ModelParameters modelparameters = ModelParameters.get(repository, repository.configurationName()); modelparameters.setDataBufferSize(1000000); modelparameters.openRead(); Iterator<String> iter = settings.iterator(); while (iter.hasNext()) { String s = iter.next(); repository.addConfiguration(s); ModelParameters.Record newRecord = modelparameters.newRecord(storedparameters); ModelParameters.Record found = modelparameters.read(newRecord); if (found != newRecord) { iter.remove(); } } return settings; }
public static ModelParameters get(Repository repository, String model) { String label = canonicalName(ModelParameters.class, model); ModelParameters termid = (ModelParameters)repository.getStoredFeature(label); if (termid == null) { termid = new ModelParameters(repository, model); repository.storeFeature(label, termid); } return termid; }
@Override protected void score( Collection<Query> queries ) throws IOException { if (testset == null) { testset = new TestSet(repository); resultstat = new ResultSet( metric, testset, this.queries.values()); TreeSet<Integer> topics = new TreeSet<Integer>(testset.topics.keySet()); for (int f = 0; f < 10; f++) { for (int i = 0; i < foldsize; i++) { fold[f][i] = topics.first() + f * foldsize + i; } } } else { resultstat.setQueries(queries); } for (int f = 0; f < 10; f++) { double avg = 0; for (int i : fold[f]) avg += resultstat.queryresult[ resultstat.getResultNumber(i) ]; avg /= 5; ModelParameters.Record r = modelparameters.newRecord(storedparameters); r.map = avg; r.parameters.put("fold", Integer.toString(f)); newRecord.add(r); } } }
@Override protected void setup(Context context) throws IOException, InterruptedException { repository = new Repository(context.getConfiguration()); conf = repository.getConf(); conf.set("rr.dir", ""); modelparameters = ModelParameters.get(repository, repository.configurationName()); storedparameters = repository.getStoredFreeParameters(); retriever = new Retriever(repository, context); metric = QueryMetric.create(conf.get("tuner.metric", "QueryMetricAP")); }
public Record newRecord( String settings[] ) { return getFile().newRecord(settings); }
/** * Checks if the settings in ModelParameters are complete, i.e. are recorded for * all folds. You should not need this, it is only for testing.s */ public ArrayList<String> removeKnownSettingsFold(Repository repository, ArrayList<String> settings) { String[] storedparameters = repository.getStoredFreeParameters(); ModelParameters modelparameters = ModelParameters.get(repository, repository.configurationName()); modelparameters.setDataBufferSize(1000000); modelparameters.openRead(); Iterator<String> iter = settings.iterator(); while (iter.hasNext()) { String s = iter.next(); repository.addConfiguration(s); boolean allthere = true; for (int i = 0; i < 10; i++) { repository.getConf().setInt("fold", i); ModelParameters.Record newRecord = modelparameters.newRecord(storedparameters); ModelParameters.Record found = modelparameters.read(newRecord); if (found == newRecord) { allthere = false; break; } } if (allthere) { iter.remove(); } } return settings; } }
@Override protected void cleanup(Context context) throws IOException, InterruptedException { if (queries != null) score(queries.values()); modelparameters.setDataBufferSize(1000000); modelparameters.openWrite(); for (Record r : newRecord) { modelparameters.write(r); log.info("score par=%s queries=%d map=%f", r.parameters, queries.size(), r.map); } modelparameters.closeWrite(); }
protected void score( Collection<Query> queries ) throws IOException { if (testset == null) { testset = new TestSet(repository); resultstat = new ResultSet( metric, testset, this.queries.values()); } else { resultstat.setQueries(queries); } Record r = modelparameters.newRecord(storedparameters); r.map = resultstat.getMean(); newRecord.add(r); } }