Removed imports for old config files

This commit is contained in:
Eddie Cueto 2023-06-28 17:04:24 +01:00
parent 7fa9a14303
commit a2300273a5
3 changed files with 90 additions and 29 deletions

View File

@ -9,7 +9,6 @@ from torch.nn import Parameter
import utils import utils
from metrics import calculate_kl as KL_DIV from metrics import calculate_kl as KL_DIV
import config_bayesian as cfg
from ..misc import ModuleWrapper from ..misc import ModuleWrapper

View File

@ -9,7 +9,6 @@ from torch.nn import Parameter
import utils import utils
from metrics import calculate_kl as KL_DIV from metrics import calculate_kl as KL_DIV
import config_bayesian as cfg
from ..misc import ModuleWrapper from ..misc import ModuleWrapper

View File

@ -1,8 +1,43 @@
import psutil
import pickle
import arguments import arguments
from time import sleep from time import sleep
import subprocess as sub import subprocess as sub
from arguments import makeArguments from arguments import makeArguments
def kill(proc_pid):
process = psutil.Process(proc_pid)
for proc in process.children(recursive=True):
proc.kill()
process.kill()
cfg = {
"model": {"net_type": None, "type": None, "size": None, "layer_type": "lrt",
"activation_type": "softplus", "priors": {
'prior_mu': 0,
'prior_sigma': 0.1,
'posterior_mu_initial': (0, 0.1), # (mean, std) normal_
'posterior_rho_initial': (-5, 0.1), # (mean, std) normal_
},
"n_epochs": 3,
"sens": 1e-9,
"energy_thrs": 10000,
"acc_thrs": 0.99,
"lr": 0.001,
"num_workers": 4,
"valid_size": 0.2,
"batch_size": 256,
"train_ens": 1,
"valid_ens": 1,
"beta_type": 0.1, # 'Blundell', 'Standard', etc. Use float for const value
},
"data": None,
"stopping_crit": None,
"save": None,
"pickle_path": None,
}
args = makeArguments(arguments.all_args) args = makeArguments(arguments.all_args)
check = list(args.values()) check = list(args.values())
@ -11,36 +46,57 @@ if all(v is None for v in check):
elif None in check: elif None in check:
if args['f'] is not None: if args['f'] is not None:
cmd = ["python", "main_frequentist.py"] cmd = ["python", "main_frequentist.py"]
cfg["model"]["type"] = "frequentist"
elif args['b'] is not None: elif args['b'] is not None:
cmd = ["python", "main_bayesian.py"] cmd = ["python", "main_bayesian.py"]
cfg["model"]["type"] = "bayesian"
else: else:
raise Exception("Only one argument allowed") raise Exception("Only one argument allowed")
wide = args["f"] or args["b"] wide = args["f"] or args["b"]
with open("tmp", "w") as file: cfg["model"]["size"] = wide
file.write(str(wide)) cfg["data"] = args["dataset"]
cfg["model"]["net_type"] = args["net_type"]
#with open("tmp", "w") as file:
# file.write(str(wide))
if args['EarlyStopping']: if args['EarlyStopping']:
with open("stp", "w") as file: cfg["stopping_crit"] = 2
file.write('2') #with open("stp", "w") as file:
# file.write('2')
elif args['EnergyBound']: elif args['EnergyBound']:
with open("stp", "w") as file: cfg["stopping_crit"] = 3
file.write('3') #with open("stp", "w") as file:
# file.write('3')
elif args['AccuracyBound']: elif args['AccuracyBound']:
with open("stp", "w") as file: cfg["stopping_crit"] = 4
file.write('4') #with open("stp", "w") as file:
# file.write('4')
else: else:
with open("stp", "w") as file: cfg["stopping_crit"] = 1
file.write('1') #with open("stp", "w") as file:
# file.write('1')
if args['Save']: if args['Save']:
with open("sav", "w") as file: cfg["save"] = 1
file.write('1') #with open("sav", "w") as file:
# file.write('1')
else: else:
with open("sav", "w") as file: cfg["save"] = 0
file.write('0') #with open("sav", "w") as file:
# file.write('0')
cfg["pickle_path"] = "{}_wattdata_{}.pkl".format(cfg["model"]["type"],cfg["model"]["size"])
with open("configuration.pkl", "wb") as f:
pickle.dump(cfg, f)
#print(args)
print(cfg)
sleep(3) sleep(3)
@ -48,17 +104,19 @@ sleep(3)
if cmd[1] == "main_frequentist.py": if cmd[1] == "main_frequentist.py":
cmd2 = ["./cpu_watt.sh", "freq_{}_cpu_watts".format(wide)] cmd2 = ["./cpu_watt.sh", "freq_{}_cpu_watts".format(wide)]
cmd3 = ["./mem_free.sh", "freq_{}_ram_use".format(wide)] cmd3 = ["./mem_free.sh", "freq_{}_ram_use".format(wide)]
with open("frq", "w") as file: cmd4 = ["./radeontop.sh", "freq_{}_flop_app".format(wide)]
file.write(str(1)) #with open("frq", "w") as file:
with open("bay", "w") as file: # file.write(str(1))
file.write(str(0)) #with open("bay", "w") as file:
# file.write(str(0))
elif cmd[1] == "main_bayesian.py": elif cmd[1] == "main_bayesian.py":
cmd2 = ["./cpu_watt.sh", "bayes_{}_cpu_watts".format(wide)] cmd2 = ["./cpu_watt.sh", "bayes_{}_cpu_watts".format(wide)]
cmd3 = ["./mem_free.sh", "bayes_{}_ram_use".format(wide)] cmd3 = ["./mem_free.sh", "bayes_{}_ram_use".format(wide)]
with open("bay", "w") as file: cmd4 = ["./radeontop.sh", "bayes_{}_flop_app".format(wide)]
file.write(str(1)) #with open("bay", "w") as file:
with open("frq", "w") as file: # file.write(str(1))
file.write(str(0)) #with open("frq", "w") as file:
# file.write(str(0))
path = sub.check_output(['pwd']) path = sub.check_output(['pwd'])
@ -67,6 +125,7 @@ path = path.replace('\n', '')
startWattCounter = 'python ' + path + '/amd_sample_draw.py' startWattCounter = 'python ' + path + '/amd_sample_draw.py'
#test = startNODE.split() #test = startNODE.split()
#test.append(pythonEnd) #test.append(pythonEnd)
#test.append(pythonEnd2) #test.append(pythonEnd2)
@ -77,14 +136,18 @@ startWattCounter = 'python ' + path + '/amd_sample_draw.py'
#print(startWattCounter) #print(startWattCounter)
p1 = sub.Popen(cmd) p1 = sub.Popen(cmd)
#p2 = sub.Popen(startWattCounter.split(),stdin=sub.PIPE,stdout=sub.PIPE, stderr=sub.PIPE)
p2 = sub.Popen(startWattCounter.split()) p2 = sub.Popen(startWattCounter.split())
p3 = sub.Popen(cmd2) p3 = sub.Popen(cmd2,stdin=sub.PIPE,stdout=sub.PIPE, stderr=sub.PIPE)
p4 = sub.Popen(cmd3) p4 = sub.Popen(cmd3,stdin=sub.PIPE,stdout=sub.PIPE, stderr=sub.PIPE)
p5 = sub.Popen(cmd4,stdin=sub.PIPE,stdout=sub.PIPE, stderr=sub.PIPE)
retcode = p1.wait() retcode = p1.wait()
print("Return code: {}".format(retcode)) print("Return code: {}".format(retcode))
p1.kill() p1.kill()
p2.kill() kill(p2.pid)
p3.kill() kill(p3.pid)
p4.kill() kill(p4.pid)
kill(p5.pid)