def main(): global options try: longopts = ["help", "verbose", "load=", "save=", "density", "density-range:" "density-step=", "which=", "epsilon=", "moments=", "prombsTest", "savefig=", "threads=", "stacksize=", "algorithm=", "mgs-samples=", "no-model-posterior", "hmm", "rho="] opts, tail = getopt.getopt(sys.argv[1:], "mr:s:k:bhvt", longopts) except getopt.GetoptError: usage() return 2 output = None for o, a in opts: if o in ("-v", "--verbose"): sys.stderr.write("Verbose mode turned on.\n") options["verbose"] = True if o in ("-t", "--prombsTest"): sys.stderr.write("Testing prombs.\n") options["prombsTest"] = True if o in ("-m", "--density"): options["density"] = True if o in ("-r", "--density-range"): options['density_range'] = tuple(map(float, a[1:-1].split(','))) if o in ("-s", "--density-step"): options["density_step"] = float(a) if o in ("-k", "--moments"): if int(a) >= 2: options["n_moments"] = int(a) else: usage() return 0 if o in ("-h", "--help"): usage() return 0 if o == "-b": options["bprob"] = True if o == "--load": options["load"] = a if o == "--save": options["save"] = a if o == "--savefig": options["savefig"] = a if o == "--which": options["which"] = int(a) if o == "--epsilon": options["epsilon"] = float(a) if o == "--threads": if int(a) >= 1: options["threads"] = int(a) else: usage() return 0 if o == "--stacksize": if int(a) >= 1: options["stacksize"] = int(a) else: usage() return 0 if o == "--algorithm": options["algorithm"] = a if o == "--mgs-samples": options["mgs_samples"] = tuple(map(int, a.split(":"))) if o == "--no-model-posterior": options["model_posterior"] = False if o == "--hmm": options["hmm"] = True if o == "--rho": options["rho"] = float(a) if len(tail) != 1: usage() return 1 interface.init(options['epsilon']) parseConfig(tail[0]) interface.free() return 0
def main(): global options try: longopts = ["help", "verbose", "load=", "save=", "density", "density-range=", "density-step=", "which=", "epsilon=", "moments", "look-ahead=", "savefig=", "lapsing=", "port=", "threads=", "stacksize=", "strategy=", "kl-psi", "kl-multibin", "algorithm=", "samples=", "mgs-samples", "no-model-posterior", "video=", "hmm", "rho=", "path-iteration", "distances" ] opts, tail = getopt.getopt(sys.argv[1:], "mr:s:k:n:bhvt", longopts) except getopt.GetoptError: usage() return 2 output = None for o, a in opts: if o in ("-v", "--verbose"): sys.stderr.write("Verbose mode turned on.\n") options["verbose"] = True if o in ("-t", "--prombsTest"): sys.stderr.write("Testing prombs.\n") options["prombsTest"] = True if o == "--look-ahead": options["look_ahead"] = int(a) if o in ("-n", "--samples"): options["samples"] = int(a) if o in ("-m", "--density"): options["density"] = True if o in ("-r", "--density-range"): options['density_range'] = tuple(map(float, a[1:-1].split(','))) if o in ("-s", "--density-step"): options["density_step"] = float(a) if o in ("-k", "--moments"): if int(a) >= 2: options["n_moments"] = int(a) else: usage() return 0 if o in ("-h", "--help"): usage() return 0 if o == "--distances": options["distances"] = True if o == "-b": options["bprob"] = True if o == "--lapsing": options["lapsing"] = float(a) if o == "--strategy": options["strategy"] = a if o == "--kl-psi": options["kl_psi"] = True if o == "--kl-multibin": options["kl_multibin"] = True if o == "--load": options["load"] = a if o == "--port": options["port"] = int(a) if o == "--save": options["save"] = a if o == "--savefig": options["savefig"] = a if o == "--which": options["which"] = int(a) if o == "--epsilon": options["epsilon"] = float(a) if o == "--threads": if int(a) >= 1: options["threads"] = int(a) else: usage() return 0 if o == "--stacksize": if int(a) >= 1: options["stacksize"] = int(a) else: usage() return 0 if o == "--algorithm": options["algorithm"] = a if o == "--mgs-samples": options["mgs_samples"] = tuple(map(int, a.split(":"))) if o == "--no-model-posterior": options["model_posterior"] = False if o == "--video": options["video"] = a if o == "--hmm": options["hmm"] = True if o == "--rho": options["rho"] = float(a) if o == "--path-iteration": options["path_iteration"] = True if (options["strategy"] == "kl-divergence" and options["kl_psi"] == False and options["kl_multibin"] == False): # set default kl divergence options["kl_psi"] = True if options["strategy"] == "effective-counts": options["effective_counts"] = True if options["strategy"] == "effective-posterior-counts": options["effective_posterior_counts"] = True if len(tail) != 1: usage() return 1 interface.init(options['epsilon']) parseConfig(tail[0]) interface.free() return 0