Beispiel #1
0
class Main():
    def __init__(self, numproc):
        self.numproc = numproc

    def simulate(self, process):
        # parallel processing on each setting value
        self.pid = os.getpid()
        self.progress_co = 0
        self.nr = Neuron(**self.parm[process + self.multiproc_co])
        self.nr.parm_dict = self.parm[process + self.multiproc_co]

        for i in range(0, self.nr.allsteps - 1):
            if (self.nr.curstep * self.nr.dt) > 200:

                for j in range(self.nr.numneu):
                    self.nr.cnct[j, j + 1] = 1.0
                    self.nr.cnct[j + 1, j] = 1.0
                pass

            self.nr.propagation()
            if self.progress_co % 1000 == 0:
                logging.warning('process id : %d : %4d steps', self.pid,
                                self.progress_co)
            self.progress_co += 1

        return self.nr

    def form_parm(self):
        self.parm = []
        self.multiproc_co = 0
        self.parm_counter = 0
        """
        for i, j, k, l in itertools.product(range(12), range(1), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {"numneu": +10, "Syncp": 4,
                                            "Iext": round(i*0.1+1.5, 1)}
            self.parm_counter += 1
        """
        # i * j * k * l = 6n!!
        for i, j, k, l in itertools.product(range(12), range(6), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {
                "numneu": 20,
                "Syncp": 5,
                "Iext_amp": 20 + 10 * j,
                "Iext_width": 10,
                "Iext_duty": 0,
                "Iext_num": 1000,
                "gcmp": 0.03 * i
            }

            self.parm_counter += 1
        self.cycle_multiproc = int(self.parm_counter / 6)
Beispiel #2
0
class Main():
    def __init__(self, numproc):
        self.numproc = numproc

    def simulate(self, process):
        # parallel processing on each setting value
        self.pid = os.getpid()
        self.progress_co = 0
        self.nr = Neuron(**self.parm[process+self.multiproc_co])
        self.nr.parm_dict = self.parm[process+self.multiproc_co]

        for i in range(0, self.nr.allsteps-1):
            self.nr.propagation()
            if self.progress_co % 100000 == 0:
                logging.warning('process id : %d : %4d steps',
                                self.pid, self.progress_co)

            self.progress_co += 1
        return self.nr

    def form_parm(self):
        self.parm = []
        self.cycle_multiproc = int(6 / 6)
        self.multiproc_co = 0
        self.parm_counter = 0
        
        """
        for i, j, k, l in itertools.product(range(12), range(1), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {"numneu": 10, "Syncp": 4,
                                            "Iext": round(i*0.1+1.5, 1)}
            self.parm_counter += 1

        """
        for i, j, k, l in itertools.product(range(4), range(12), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {"numneu": 1,
                                            "b": 3.3,
                                            "r":0.01,
                                            "xr":-3,
                                            "Syncp": 4,
                                            "syn_delay": 10,
                                            "noise":2,
                                            "alpha": round(0.3+i*0.1, 1),
                                            "D": round(1+2*j, 1)}
            self.parm_counter += 1
Beispiel #3
0
    def simulate(self, process):
        # parallel processing on each setting value
        self.pid = os.getpid()
        self.progress_co = 0
        self.nr = Neuron(**self.parm[process + self.multiproc_co])
        self.nr.parm_dict = self.parm[process + self.multiproc_co]

        for i in range(0, self.nr.allsteps - 1):
            self.nr.propagation()
            if self.progress_co % 100000 == 0:
                logging.warning('process id : %d : %4d steps', self.pid,
                                self.progress_co)

            self.progress_co += 1
        return self.nr
Beispiel #4
0
    def simulate(self, process):
        # parallel processing on each setting value
        self.pid = os.getpid()
        self.progress_co = 0
        self.nr = Neuron(**self.parm[process + self.multiproc_co])
        self.nr.parm_dict = self.parm[process + self.multiproc_co]

        for i in range(0, self.nr.allsteps - 1):
            if (self.nr.curstep * self.nr.dt) > 200:

                for j in range(self.nr.numneu):
                    self.nr.cnct[j, j + 1] = 1.0
                    self.nr.cnct[j + 1, j] = 1.0
                pass

            self.nr.propagation()
            if self.progress_co % 1000 == 0:
                logging.warning('process id : %d : %4d steps', self.pid,
                                self.progress_co)
            self.progress_co += 1

        return self.nr
Beispiel #5
0
class Main():
    def __init__(self, numproc):
        self.numproc = numproc

    def simulate(self, process):
        # parallel processing on each setting value
        self.pid = os.getpid()
        self.progress_co = 0
        self.nr = Neuron(**self.parm[process + self.multiproc_co])
        self.nr.parm_dict = self.parm[process + self.multiproc_co]

        for i in range(0, self.nr.allsteps - 1):
            """
            if (self.nr.curstep * self.nr.dt) > 200:
                
                for j in range(19):
                    self.nr.cnct[j, j+1] = 1.0
                    self.nr.cnct[j+1, j] = 1.0
                pass
            """

            self.nr.propagation()
            if self.progress_co % 1000 == 0:
                logging.warning('process id : %d : %4d steps', self.pid,
                                self.progress_co)
            self.progress_co += 1

        return self.nr

    def form_parm(self):
        self.parm = []
        self.multiproc_co = 0
        self.parm_counter = 0
        """
        for i, j, k, l in itertools.product(range(12), range(1), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {"numneu": +10, "Syncp": 4,
                                            "Iext": round(i*0.1+1.5, 1)}
            self.parm_counter += 1
        """
        # i * j * k * l = 6n!!
        for i, j, k, l in itertools.product(range(8), range(12), range(1),
                                            range(1)):
            self.parm.append({})
            self.parm[self.parm_counter] = {
                "numneu": 1,
                "b": 3.3,
                "r": 0.01,
                "xr": -3,
                "Syncp": 4,
                "syn_delay": 10,
                "noise": 2,
                "alpha": 0.5,
                "D": round(1 + 2 * j, 1),
                "Pmax": round(1 + i, 1)
            }
            """
                                            "noise": 2,
                                            "alpha": round(0.1+0.2*i, 1),
                                            "D": round(0.5+j, 1)}
            """
            self.parm_counter += 1
        self.cycle_multiproc = int(self.parm_counter / 6)
Beispiel #6
0
    def plot(self, process):
        #parallel processing on each setting value
        if process == 0:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm1)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %4d steps', self.pid,
                                    self.progress_co)
                self.progress_co += 1
            return self.nr

        elif process == 1:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm2)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %d steps', self.pid,
                                    self.progress_co)
                self.progress_co += 1
            return self.nr

        elif process == 2:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm3)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %d steps', self.pid,
                                    self.progress_co)
                self.progress_co += 1
            return self.nr

        elif process == 3:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm4)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %d steps', self.pid,
                                    self.progress_co)
                    self.progress_co += 1
            return self.nr

        elif process == 4:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm5)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %d steps', self.pid,
                                    self.progress_co)
                    self.progress_co += 1
            return self.nr

        elif process == 5:
            self.pid = os.getpid()
            self.progress_co = 0
            self.nr = Neuron(**palm6)
            for i in range(0, self.nr.allsteps - 1):
                self.nr.propagation()
                if self.progress_co % 100000 == 0:
                    logging.warning('process id : %d : %d steps', self.pid,
                                    self.progress_co)
                    self.progress_co += 1
            return self.nr

        else:
            pass