Exemple #1
0
    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
Exemple #2
0
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
Exemple #4
0
 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
Exemple #5
0
    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()
Exemple #6
0
 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
Exemple #8
0
    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 + '/'))
Exemple #9
0
 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+'/'))
Exemple #10
0
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