public String getAlgorithm() { return trainingParameters.getStringParameter(ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); }
/** * get a String parameter. * * {@link java.lang.ClassCastException} can be thrown if the value is not {@code String} * @param key * @param defaultValue * @return */ public String getStringParameter(String key, String defaultValue) { return getStringParameter(null, key, defaultValue); }
/** * Use the TrainingParameters directly... * @param key * @param defaultValue */ @Deprecated protected String getStringParam(String key, String defaultValue) { return trainingParameters.getStringParameter(key, defaultValue); }
public static boolean isValid(TrainingParameters trainParams) { // TODO: Need to validate all parameters correctly ... error prone?! String algorithmName = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM,null); // If a trainer type can be determined, then the trainer is valid! if (algorithmName != null && !(BUILTIN_TRAINERS.containsKey(algorithmName) || getTrainerType(trainParams) != null)) { return false; } try { // require that the Cutoff and the number of iterations be an integer. // if they are not set, the default values will be ok. trainParams.getIntParameter(AbstractTrainer.CUTOFF_PARAM, 0); trainParams.getIntParameter(AbstractTrainer.ITERATIONS_PARAM, 0); } catch (NumberFormatException e) { return false; } // no reason to require that the dataIndexer be a 1-pass or 2-pass dataindexer. trainParams.getStringParameter(AbstractEventTrainer.DATA_INDEXER_PARAM, null); // TODO: Check data indexing ... return true; }
public static EventTrainer getEventTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { // if the trainerType is not defined -- use the GISTrainer. String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); if (BUILTIN_TRAINERS.containsKey(trainerType)) { EventTrainer trainer = TrainerFactory.<EventTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { EventTrainer trainer = ExtensionLoader.instantiateExtension(EventTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } }
public static SequenceTrainer getSequenceModelTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM,null); if (trainerType != null) { if (BUILTIN_TRAINERS.containsKey(trainerType)) { SequenceTrainer trainer = TrainerFactory.<SequenceTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { SequenceTrainer trainer = ExtensionLoader.instantiateExtension(SequenceTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } } else { throw new IllegalArgumentException("Trainer type couldn't be determined!"); } }
public static EventModelSequenceTrainer getEventModelSequenceTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM,null); if (trainerType != null) { if (BUILTIN_TRAINERS.containsKey(trainerType)) { EventModelSequenceTrainer trainer = TrainerFactory.<EventModelSequenceTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { EventModelSequenceTrainer trainer = ExtensionLoader.instantiateExtension(EventModelSequenceTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } } else { throw new IllegalArgumentException("Trainer type couldn't be determined!"); } }
String algorithmValue = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM,null);
public static DataIndexer getDataIndexer(TrainingParameters parameters, Map<String, String> reportMap) { String indexerParam = parameters.getStringParameter(AbstractEventTrainer.DATA_INDEXER_PARAM, AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE);
/** * get a String parameter * @param key * @param defaultValue * @return * @throws {@link java.lang.ClassCastException} can be thrown if the value is not {@link String} */ public String getStringParameter(String key, String defaultValue) { return getStringParameter(null, key, defaultValue); }
/** * get a String parameter. * * {@link java.lang.ClassCastException} can be thrown if the value is not {@code String} * @param key * @param defaultValue * @return */ public String getStringParameter(String key, String defaultValue) { return getStringParameter(null, key, defaultValue); }
public String getAlgorithm() { return trainingParameters.getStringParameter(ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); }
public String getAlgorithm() { return trainingParameters.getStringParameter(ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); }
/** * Use the TrainingParameters directly... * @param key * @param defaultValue */ @Deprecated protected String getStringParam(String key, String defaultValue) { return trainingParameters.getStringParameter(key, defaultValue); }
/** * Use the TrainingParameters directly... * @param key * @param defaultValue */ @Deprecated protected String getStringParam(String key, String defaultValue) { return trainingParameters.getStringParameter(key, defaultValue); }
@Test public void testDefault() { TrainingParameters tr = TrainingParameters.defaultParams(); Assert.assertEquals(4, tr.getSettings().size()); Assert.assertEquals("MAXENT", tr.algorithm()); Assert.assertEquals(EventTrainer.EVENT_VALUE, tr.getStringParameter(TrainingParameters.TRAINER_TYPE_PARAM, "v11")); // use different defaults Assert.assertEquals(100, tr.getIntParameter(TrainingParameters.ITERATIONS_PARAM, 200)); // use different defaults Assert.assertEquals(5, tr.getIntParameter(TrainingParameters.CUTOFF_PARAM, 200)); // use different defaults }
@Test public void testPutGet() { TrainingParameters tp = build("k1=v1,int.k2=123,str.k2=v3,str.k3=v4,boolean.k4=false,double.k5=123.45,k21=234.5"); Assert.assertEquals("v1", tp.getStringParameter("k1", "def")); Assert.assertEquals("def", tp.getStringParameter("k2", "def")); Assert.assertEquals("v3", tp.getStringParameter("str", "k2", "def")); Assert.assertEquals("def", tp.getStringParameter("str", "k4", "def")); Assert.assertEquals(-100, tp.getIntParameter("k11", -100)); tp.put("k11", 234); Assert.assertEquals(234, tp.getIntParameter("k11", -100)); Assert.assertEquals(123, tp.getIntParameter("int", "k2", -100)); Assert.assertEquals(-100, tp.getIntParameter("int", "k4", -100)); Assert.assertEquals(234.5, tp.getDoubleParameter("k21", -100), 0.001); tp.put("k21", 345.6); Assert.assertEquals(345.6, tp.getDoubleParameter("k21", -100), 0.001); // should be changed tp.putIfAbsent("k21", 456.7); Assert.assertEquals(345.6, tp.getDoubleParameter("k21", -100), 0.001); // should be unchanged Assert.assertEquals(123.45, tp.getDoubleParameter("double", "k5", -100), 0.001); Assert.assertEquals(true, tp.getBooleanParameter("k31", true)); tp.put("k31", false); Assert.assertEquals(false, tp.getBooleanParameter("k31", true)); Assert.assertEquals(false, tp.getBooleanParameter("boolean", "k4", true)); }
public static EventTrainer getEventTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { // if the trainerType is not defined -- use the GISTrainer. String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); if (BUILTIN_TRAINERS.containsKey(trainerType)) { EventTrainer trainer = TrainerFactory.<EventTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { EventTrainer trainer = ExtensionLoader.instantiateExtension(EventTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } }
public static SequenceTrainer getSequenceModelTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM,null); if (trainerType != null) { if (BUILTIN_TRAINERS.containsKey(trainerType)) { SequenceTrainer trainer = TrainerFactory.<SequenceTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { SequenceTrainer trainer = ExtensionLoader.instantiateExtension(SequenceTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } } else { throw new IllegalArgumentException("Trainer type couldn't be determined!"); } }
public static EventTrainer getEventTrainer(TrainingParameters trainParams, Map<String, String> reportMap) { // if the trainerType is not defined -- use the GISTrainer. String trainerType = trainParams.getStringParameter(AbstractTrainer.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE); if (BUILTIN_TRAINERS.containsKey(trainerType)) { EventTrainer trainer = TrainerFactory.<EventTrainer>createBuiltinTrainer( BUILTIN_TRAINERS.get(trainerType)); trainer.init(trainParams, reportMap); return trainer; } else { EventTrainer trainer = ExtensionLoader.instantiateExtension(EventTrainer.class, trainerType); trainer.init(trainParams, reportMap); return trainer; } }