#!/usr/bin/python3 import numpy as np import os import sys import importlib sys.path.append(os.environ['UASR_HOME'] + '-py') import ipl import icfg import idnn if len(sys.argv) < 2: raise ValueError("Usage: " + sys.argv[0] + " CFG {PAR}") icfg.Cfg(sys.argv[1]) dlog = icfg.getdir('log') dn = os.path.join(dlog, 'dnnrnd') res = [] for fn in os.listdir(dn): if fn[-8:] != '_arg.npy': continue fna = os.path.join(dn, fn) res.append({'fna': fna}) fns = fna[:-8] + '_stat.npy' if os.path.exists(fns): res[-1]['fns'] = fns fnx = fna[:-8] + '_stat_allsen.npy' if os.path.exists(fnx): res[-1]['fnx'] = fnx res[-1]['fnp'] = fna[:-8] + '_par.npy'
print(kwargs) r=dnntest(**kwargs) if r is None: break xpar=idnn._netstat(r,r['idim'],prt=False) if np.array(r['stat'])[:,2].max()<0.5: print("MAX-ACC<0.5"); break stat.append(np.array(r['stat'])) print('/dnnrnd_'+str(int(time.time()))) np.save(dlog+'/dnnrnd/dnnrnd_'+str(int(time.time()))+'_arg.npy',kwargs) np.save(dlog+'/dnnrnd/dnnrnd_'+str(int(time.time()))+'_par.npy',xpar) if len(stat)==3: np.save(dlog+'/dnnrnd/dnnrnd_'+str(int(time.time()))+'_stat.npy',stat) def dnnrndloop(): while not os.path.exists('stop'): dnnrnd() if len(sys.argv)<2: raise ValueError("Usage: "+sys.argv[0]+" CFG [-n]") icfg.Cfg(*sys.argv[1:]) ftrn=icfg.readflst('train') ftst=icfg.readflst('test') dmod=icfg.getdir('model') dlog=icfg.getdir('log') sen=getsensors() regression=icfg.get('trn.regression')==True senuse=sen feause=['pfa','sfa','sig'] clsuse=['hmm','svm','cnnb','cnn','dnn'] if not icfg.get('senuse') is None: senuse=icfg.get('senuse').split(',') if not icfg.get('feause') is None: feause=icfg.get('feause').split(',') if not icfg.get('clsuse') is None: clsuse=icfg.get('clsuse').split(',')