You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
Python
77 lines
2.1 KiB
Python
import numpy as np
|
|
import configparser
|
|
|
|
import json
|
|
|
|
|
|
def get_config(conffile):
|
|
|
|
parser = configparser.ConfigParser()
|
|
parser.read(conffile)
|
|
|
|
cons = json.loads(parser.get("Iterables", "connectivity"))
|
|
ps = json.loads(parser.get("Iterables", "p"))
|
|
lcs = json.loads(parser.get("Iterables", "lc"))
|
|
variances = json.loads(parser.get("Iterables", "variances"))
|
|
seeds = json.loads(parser.get("Iterables", "seeds"))
|
|
|
|
seeds = np.arange(seeds[0], seeds[1] + seeds[0])
|
|
ps = np.linspace(ps[0], ps[1], ps[2]) / 100
|
|
|
|
iterables = dict()
|
|
iterables["ps"] = ps
|
|
iterables["seeds"] = seeds
|
|
iterables["lcs"] = lcs
|
|
iterables["variances"] = variances
|
|
iterables["cons"] = cons
|
|
return parser, iterables
|
|
|
|
|
|
def DotheLoop(job, parser, iterables):
|
|
|
|
ps = iterables["ps"]
|
|
seeds = iterables["seeds"]
|
|
lcs = iterables["lcs"]
|
|
variances = iterables["variances"]
|
|
cons = iterables["cons"]
|
|
|
|
if job == -1:
|
|
if parser.get("Generation", "binary") == "yes":
|
|
if 0 not in cons:
|
|
njobs = len(ps) * len(cons) * len(seeds) * len(lcs)
|
|
else:
|
|
njobs = len(ps) * (len(cons) - 1) * len(seeds) * len(lcs) + len(
|
|
ps
|
|
) * len(seeds)
|
|
else:
|
|
if 0 not in cons:
|
|
njobs = len(variances) * len(cons) * len(seeds) * len(lcs)
|
|
else:
|
|
njobs = len(variances) * (len(cons) - 1) * len(seeds) * len(lcs) + len(
|
|
variances
|
|
) * len(seeds)
|
|
return njobs
|
|
|
|
i = 0
|
|
|
|
for con in cons:
|
|
if con == 0:
|
|
llcs = [0.000001]
|
|
else:
|
|
llcs = lcs
|
|
for lc in llcs:
|
|
if parser.get("Generation", "binary") == "yes":
|
|
for p in ps:
|
|
for seed in seeds:
|
|
if i == job:
|
|
return [con, lc, p, seed]
|
|
i += 1
|
|
|
|
else:
|
|
for v in variances:
|
|
for seed in seeds:
|
|
if i == job:
|
|
return [con, lc, v, seed]
|
|
i += 1
|
|
return []
|