def load_dic(self, *filt, **kw): d = {} if kw.get('keys_iterator'): for keys in kw['keys_iterator']: print keys storage = misc.dict_recursive_get(self, keys) val = storage.load_data() d = misc.dict_recursive_add(d, keys, val) return d for keys, storage in misc.dict_iter(self): if filt == (): pass else: a = False i = 0 for key in keys: if key not in filt and i not in kw.get('star', []): a = True i += 1 if key == 'mean_rates': pass if i == len(keys): break if a: continue val = storage.load_data() d = misc.dict_recursive_add(d, keys, val) return d
def generate_plot_data(d, models, attrs, exclude=['all', 'striatum', 'GP-ST-SN', 'Normal']): out = {} labels = [] keys = d.keys() for k in sorted(keys): if k in exclude: continue labels.append(k) for model in models: l = [] for attr in attrs: l.append([]) for k in sorted(keys): if k in exclude: continue l[-1].append(misc.dict_recursive_get(d, [k, model, attr])) lsum = [[a] * len(l[0]) for a in numpy.sum(l, axis=1)] obj = Data_bar(**{ 'y': numpy.array(l) #/numpy.array(lsum) }) out = misc.dict_recursive_add(out, [model], obj) return out, labels
def generate_plot_data(d, models, attrs, exclude=['all', 'striatum', 'GP-ST-SN', 'Normal']): out={} labels=[] keys=d.keys() for k in sorted(keys): if k in exclude: continue labels.append(k) for model in models: l=[] for attr in attrs: l.append([]) for k in sorted(keys): if k in exclude: continue l[-1].append(misc.dict_recursive_get(d, [k, model, attr])) lsum=[[a]*len(l[0]) for a in numpy.sum(l, axis=1)] obj=Data_bar(**{'y':numpy.array(l)#/numpy.array(lsum) }) out=misc.dict_recursive_add(out, [model], obj) return out, labels
def load_dic(self, *filt, **kw): d={} if kw.get('keys_iterator'): for keys in kw['keys_iterator']: print keys storage=misc.dict_recursive_get(self, keys) val=storage.load_data() d=misc.dict_recursive_add(d, keys, val) return d for keys, storage in misc.dict_iter(self): if filt==(): pass else: a=False i=0 for key in keys: if key not in filt and i not in kw.get('star', []): a=True i+=1 if key=='mean_rates': pass if i==len(keys): break if a: continue val=storage.load_data() d=misc.dict_recursive_add(d, keys, val) return d
def save_dic(self, d, **k): print 'Saving ' + self.file_name for keys, data in misc.dict_iter(d): if not misc.dict_haskey(self.dic, keys): self.add_storage(keys) s = misc.dict_recursive_get(self.dic, keys) s.save_data('-'.join(keys), data, **k) self.save()
def save_dic(self, d, **k): print 'Saving '+self.file_name for keys, data in misc.dict_iter(d): if not misc.dict_haskey(self.dic, keys): self.add_storage(keys) s=misc.dict_recursive_get(self.dic, keys) s.save_data('-'.join(keys), data, **k) self.save()
def compute_performance(d, nets, models, attrs): results={} for run in d.keys(): for model in models: for attr in attrs: keys1=[run, 'Net_0', model, attr] keys2=[run, 'Net_1', model, attr] keys3=[run, model, attr] v1=misc.dict_recursive_get(d, keys1) v2=misc.dict_recursive_get(d, keys2) v=(v1-v2)/v1 v[numpy.isnan(v)]=0 v=numpy.mean((v)**2) results=misc.dict_recursive_add(results, keys3, v) d0={} for run in results.keys(): for model in models: for attr in attrs: keys0=['Normal', model, attr] v1=misc.dict_recursive_get(results, keys0) d0=misc.dict_recursive_add(d0, keys0, v1) for run in results.keys(): for model in models: for attr in attrs: keys0=['Normal', model, attr] keys3=[run, model, attr] v0=misc.dict_recursive_get(d0, keys0) v1=misc.dict_recursive_get(results, keys3) results=misc.dict_recursive_add(results, keys3, v1/v0) return results
def test_save(self): self.sd = Storage_dic(self.file_name) for keys, val in misc.dict_iter(self.data): #Add storage objects self.sd.add_storage(keys) s = misc.dict_recursive_get(self.sd, keys) key = '-'.join(keys) s.save_data(key, val) self.sd.save() self.assertTrue(os.path.isfile(self.file_name + '.pkl')) self.assertTrue(os.path.isdir(self.file_name + '/'))
def test_save(self): self.sd=Storage_dic(self.file_name) for keys, val in misc.dict_iter(self.data): #Add storage objects self.sd.add_storage(keys) s=misc.dict_recursive_get(self.sd, keys) key='-'.join(keys) s.save_data(key,val) self.sd.save() self.assertTrue(os.path.isfile(self.file_name+'.pkl')) self.assertTrue(os.path.isdir(self.file_name+'/'))
def compute_performance(d, nets, models, attrs): results = {} for run in d.keys(): for model in models: for attr in attrs: keys1 = [run, 'Net_0', model, attr] keys2 = [run, 'Net_1', model, attr] keys3 = [run, model, attr] v1 = misc.dict_recursive_get(d, keys1) v2 = misc.dict_recursive_get(d, keys2) v = (v1 - v2) / v1 v[numpy.isnan(v)] = 0 v = numpy.mean((v)**2) results = misc.dict_recursive_add(results, keys3, v) d0 = {} for run in results.keys(): for model in models: for attr in attrs: keys0 = ['Normal', model, attr] v1 = misc.dict_recursive_get(results, keys0) d0 = misc.dict_recursive_add(d0, keys0, v1) for run in results.keys(): for model in models: for attr in attrs: keys0 = ['Normal', model, attr] keys3 = [run, model, attr] v0 = misc.dict_recursive_get(d0, keys0) v1 = misc.dict_recursive_get(results, keys3) results = misc.dict_recursive_add(results, keys3, v1 / v0) return results