Esempio n. 1
0
 def test_target(self):
     trg = self.target
     net = self.app.network.net
     if net is not None and len(trg):
         n1, n2 = trg.shape[1], len(net.outno)
         if n1 != n2:
             msg = "Network has %i targets but target data has %i columns!" %(n2, n1)
             display_error(msg)
             return False
     return True
Esempio n. 2
0
 def test_input(self):
     inp = self.input
     net = self.app.network.net
     if net is not None and len(inp):
         n1, n2 = inp.shape[1], len(net.inno)
         if n1 != n2:
             msg = "Network has %i inputs but input data has %i columns!" %(n2, n1)
             display_error(msg)
             return False
     return True
Esempio n. 3
0
 def test_input_target(self):
     inp = self.input
     trg = self.target
     #if not len(inp):
         #display_error("Set input data first!")
         #return False
     if len(inp) != len(trg):
         display_error("Training data is not aligned. "
                       "Input patterns: %i, Target patterns: %i" %(len(inp), len(trg)))
         return False
     return True
Esempio n. 4
0
 def load(self, err = True, errmsg = '', traceback = False):
     try:
         data = self._load()
     except:
         if err:
             if not errmsg:
                 errmsg = 'Error occured during file reading!'
             display_error(errmsg, traceback = traceback)
         return numpy.array([], dtype=self.dtype) # Empty array is returned, but self.data is left untouched
     data = self.validate(data)
     self.data = data  # Assign data finally
     return data
Esempio n. 5
0
 def create(self):
     try:
         conn = self.connectivity_type
         arch = self.architecture.replace('-', ',')
         biases = self.biases
         conec = eval('%s((%s), biases=%s)' %(conn, arch, biases))
         self.net = ffnet(conec)
         self.net.name = self.architecture.replace(',', '-')
         return self.net
     except:
         display_error("Network cannot be created!")
         self.net = None
         return None
Esempio n. 6
0
 def _calculate_pos(self, graph):
     if self.layout == 'layered':  # only DAGs
         try:
             pos = layered_layout(graph)
         except:
             display_error("Layered layout cannot be created!")
             pos  = None
     elif self.layout == 'spring':
         pos = nx.spring_layout(graph)
     elif self.layout == 'circular':
         pos = nx.circular_layout(graph)
     elif self.layout == 'random':
         pos = nx.random_layout(graph)
     else:
         pos = None  # which gives 'spring' layout...
     return pos
Esempio n. 7
0
 def dump(self, out, sufix):
     wildcard = 'Text file (*.txt)|*.txt'
     outfile = os.path.splitext(self.app.network.filename)[0] + '-' + sufix + '.txt'
     dialog = pyface.FileDialog(parent=None,
                                title='Save as',
                                action='save as',
                                wildcard=wildcard,
                                default_path=outfile
                                )
     if dialog.open() == pyface.OK:  # path is given
         path = dialog.path
         try:
             np.savetxt(path, out, newline = os.linesep)
             self.app.logs.logger.info('%s saved to file: %s' %(sufix.capitalize().replace('-', ' '), path))
         except:
             display_error("Error when saving data!")
             return
Esempio n. 8
0
 def export(self):
     if self.net is None:
        display_error("Network neither created nor loaded!")
        return
     wildcard = 'Fortran file (*.f)|*.f|Any file (*.*)|*.*'
     outfile = os.path.splitext(self.filename)[0] + '.f'
     dialog = pyface.FileDialog(parent=None,
                                title='Export as',
                                action='save as',
                                wildcard=wildcard,
                                default_path=outfile
                                )
     if dialog.open() == pyface.OK:  # path is given
         path = dialog.path
         if not os.path.basename(path).endswith('.f'):
             path += '.f'
         exportnet(self.net, path)
         self.app.logs.logger.info('Network exported as: %s' %path)
Esempio n. 9
0
 def save_as(self):
     if self.net is None:
        display_error("Network neither created nor loaded!")
        return
     wildcard = 'Network file (*.net)|*.net|Any file (*.*)|*.*'
     dialog = pyface.FileDialog(parent=None,
                                title='Save as',
                                action='save as',
                                wildcard=wildcard,
                                default_path=self.filename
                                )
     if dialog.open() == pyface.OK:  # path is given
         path = dialog.path
         if not os.path.basename(path).endswith('.net'):
             path += '.net'
         savenet(self.net, path)
         self.filename = path
         self.app.logs.logger.info('Network saved as: %s' %self.filename)
Esempio n. 10
0
 def load(self):
     wildcard = 'Network file (*.net)|*.net|Any file (*.*)|*.*'
     dialog = pyface.FileDialog(parent=None,
                                title='Load network',
                                action='open',
                                wildcard=wildcard,
                                )
     if dialog.open() == pyface.OK:
         path = dialog.path
         if not os.path.isfile(path):
             display_error("File '%s' does not exist."%path)
             return
         try:
             net = loadnet(path)
             net.weights  # is this network?
             self.close()  # close old network
             self.net = net
             self.filename = path
             self.app.logs.logger.info('Network loaded: %s' %self.filename)
             return net
         except:
             display_error("Wrong network file.")
             return
Esempio n. 11
0
 def validate(self, data):
     if not len(data):
         display_error("No data loaded! Empty file?")
     return data