use of edu.neu.ccs.pyramid.configuration.Config in project pyramid by cheng-li.
the class AppBRGB method createBRPredictionConfig.
private static Config createBRPredictionConfig(Config config) {
Config predictConfig = new Config();
predictConfig.setString("input.validData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.validFolder")).toString());
predictConfig.setString("input.testData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.testFolder")).toString());
predictConfig.setString("input.calibrationData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.calibrationFolder")).toString());
predictConfig.setString("input.calibrationFolder", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.calibrationFolder")).toString());
predictConfig.setString("output.dir", config.getString("output.folder"));
predictConfig.setString("test", config.getString("test"));
predictConfig.setString("validate", config.getString("validate"));
predictConfig.setString("output.log", config.getString("output.log"));
Config.copy(config, predictConfig, "output.calibratorFolder");
Config.copy(config, predictConfig, "predict.mode");
Config.copy(config, predictConfig, "predict.minSize");
Config.copy(config, predictConfig, "predict.maxSize");
predictConfig.setString("labelCalibrator", config.getString("calibrate.labelCalibrator"));
predictConfig.setString("setCalibrator", config.getString("calibrate.setCalibrator"));
Config.copy(config, predictConfig, "calibrate.target");
Config.copy(config, predictConfig, "output.modelFolder");
Config.copy(config, predictConfig, "threshold.targetValue");
Config.copy(config, predictConfig, "threshold.targetMetric");
config.copy(config, predictConfig, "threshold.name");
Config.copy(config, predictConfig, "threshold.lowerBound");
Config.copy(config, predictConfig, "threshold.upperBound");
Config.copy(config, predictConfig, "report.showPredictionDetail");
Config.copy(config, predictConfig, "report.rule.limit");
Config.copy(config, predictConfig, "report.numDocsPerFile");
Config.copy(config, predictConfig, "report.labelSetLimit");
Config.copy(config, predictConfig, "report.classProbThreshold");
Config.copy(config, predictConfig, "report.produceHTML");
predictConfig.setString("dataSetType", "sparse_random");
return predictConfig;
}
use of edu.neu.ccs.pyramid.configuration.Config in project pyramid by cheng-li.
the class AppBRGB method createBRCalibrationConfig.
private static Config createBRCalibrationConfig(Config config) {
Config calConfig = new Config();
calConfig.setString("input.trainData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.trainFolder")).toString());
calConfig.setString("input.testData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.testFolder")).toString());
calConfig.setString("input.validData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.validFolder")).toString());
calConfig.setString("input.calibrationData", Paths.get(config.getString("output.folder"), "data_sets", config.getString("output.calibrationFolder")).toString());
calConfig.setString("output.dir", config.getString("output.folder"));
calConfig.setString("input.calibrationFolder", config.getString("output.calibrationFolder"));
calConfig.setString("input.validFolder", config.getString("output.validFolder"));
calConfig.setString("input.testFolder", config.getString("output.testFolder"));
calConfig.setString("calibrate", config.getString("calibrate"));
calConfig.setString("test", config.getString("test"));
calConfig.setString("tuneThreshold", config.getString("tuneThreshold"));
calConfig.setString("output.log", config.getString("output.log"));
calConfig.setString("setPrior", "true");
calConfig.setString("brProb", "true");
calConfig.setString("expectedF1", "true");
calConfig.setString("expectedPrecision", "true");
calConfig.setString("expectedRecall", "true");
calConfig.setString("card", "true");
calConfig.setString("encodeLabel", "true");
calConfig.setString("numCandidates", config.getString("calibrate.numCandidates"));
calConfig.setString("numLeaves", config.getString("calibrate.reranker.numLeaves"));
calConfig.setString("useInitialFeatures", config.getString("calibrate.reranker.useInitialFeatures"));
calConfig.setString("featureFieldPrefix", config.getString("calibrate.reranker.featureFieldPrefix"));
Config.copy(config, calConfig, "output.calibratorFolder");
Config.copy(config, calConfig, "predict.mode");
Config.copy(config, calConfig, "predict.minSize");
Config.copy(config, calConfig, "predict.maxSize");
calConfig.setString("labelCalibrator", config.getString("calibrate.labelCalibrator"));
calConfig.setString("setCalibrator", config.getString("calibrate.setCalibrator"));
Config.copy(config, calConfig, "calibrate.target");
Config.copy(config, calConfig, "output.modelFolder");
Config.copy(config, calConfig, "threshold.targetValue");
Config.copy(config, calConfig, "threshold.targetMetric");
Config.copy(config, calConfig, "threshold.name");
Config.copy(config, calConfig, "threshold.lowerBound");
Config.copy(config, calConfig, "threshold.upperBound");
calConfig.setString("dataSetType", "sparse_random");
return calConfig;
}
use of edu.neu.ccs.pyramid.configuration.Config in project pyramid by cheng-li.
the class AppBRGB method main.
public static void main(String[] args) throws Exception {
if (args.length != 1) {
throw new IllegalArgumentException("Please specify a properties file.");
}
Config config = new Config(args[0]);
Logger logger = Logger.getAnonymousLogger();
String logFile = config.getString("output.log");
FileHandler fileHandler = null;
if (!logFile.isEmpty()) {
new File(logFile).getParentFile().mkdirs();
// todo should append?
fileHandler = new FileHandler(logFile, true);
java.util.logging.Formatter formatter = new SimpleFormatter();
fileHandler.setFormatter(formatter);
logger.addHandler(fileHandler);
logger.setUseParentHandlers(false);
}
logger.info(config.toString());
if (fileHandler != null) {
fileHandler.close();
}
File output = new File(config.getString("output.folder"));
output.mkdirs();
Config app1Config = createApp1Config(config);
Config app2Config = createGBConfig(config);
Config calConfig = createBRCalibrationConfig(config);
Config predictConfig = createBRPredictionConfig(config);
Config autoConfig = createBRAutomationConfig(config);
App1.main(app1Config);
BRGB.main(app2Config);
BRCalibration.main(calConfig);
BRPrediction.reportValid(predictConfig);
BRAutomation.tuneThreshold(autoConfig);
BRPrediction.reportTest(predictConfig);
BRAutomation.showTestPerformance(autoConfig);
}
use of edu.neu.ccs.pyramid.configuration.Config in project pyramid by cheng-li.
the class AppCombSUM method main.
public static void main(String[] args) throws Exception {
if (args.length != 1) {
throw new IllegalArgumentException("Please specify a properties file.");
}
Config config = new Config(args[0]);
Logger logger = Logger.getAnonymousLogger();
String logFile = config.getString("output.log");
FileHandler fileHandler = null;
if (!logFile.isEmpty()) {
new File(logFile).getParentFile().mkdirs();
// todo should append?
fileHandler = new FileHandler(logFile, true);
Formatter formatter = new SimpleFormatter();
fileHandler.setFormatter(formatter);
logger.addHandler(fileHandler);
logger.setUseParentHandlers(false);
}
logger.info(config.toString());
File output = new File(config.getString("output.folder"));
output.mkdirs();
if (config.getBoolean("calibrate")) {
calibrate(config, logger);
}
if (config.getBoolean("validate")) {
report(config, config.getString("validFolder"));
}
if (config.getBoolean("tuneThreshold")) {
tuneThreshold(config, logger);
}
if (config.getBoolean("test")) {
report(config, config.getString("testFolder"));
testAutomation(config, logger);
}
if (fileHandler != null) {
fileHandler.close();
}
}
use of edu.neu.ccs.pyramid.configuration.Config in project pyramid by cheng-li.
the class BRLREN method main.
public static void main(String[] args) throws Exception {
if (args.length != 1) {
throw new IllegalArgumentException("Please specify a properties file.");
}
Config config = new Config(args[0]);
main(config);
}
Aggregations