package com.formulasearchengine.mathosphere.mlp.cli;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import java.io.Serializable;
@Parameters(commandDescription = "Runs the MLP algorithm (on Flink)")
public class FlinkMlpCommandConfig extends BaseConfig implements Serializable {
@Parameter(names = {"-in", "--inputDir"}, description = "path to the directory with wikidump")
protected String dataset;
@Parameter(names = {"-out", "--outputDir"}, description = "path to output directory")
protected String outputdir;
@Parameter(names = {"--threads"}, description = "how many parallel threads should be used")
protected int parallelism = 0;
public FlinkMlpCommandConfig() {
}
public static FlinkMlpCommandConfig test() {
String dataset = "c:/tmp/mlp/input/";
String outputdir = "c:/tmp/mlp/output/";
FlinkMlpCommandConfig cfg = new FlinkMlpCommandConfig(dataset, outputdir);
cfg.setUseTeXIdentifiers(false);
return cfg;
}
public static FlinkMlpCommandConfig from(String[] args) {
if (args.length == 0) {
return test();
}
FlinkMlpCommandConfig config = new FlinkMlpCommandConfig();
JCommander commander = new JCommander();
commander.addObject(config);
commander.parse(args);
return config;
}
public FlinkMlpCommandConfig(String dataset, String outputdir) {
this.dataset = dataset;
this.outputdir = outputdir;
}
public FlinkMlpCommandConfig(String dataset, String outputdir, String model, String language, double alpha, double beta,
double gamma, double threshold, Boolean useTex) {
super(model, language, alpha, beta, gamma, threshold, useTex);
this.dataset = dataset;
this.outputdir = outputdir;
}
public String getDataset() {
return dataset;
}
public String getOutputDir() {
return outputdir;
}
public int getParallelism() {
return parallelism;
}
}