type=int, help='GPU for integration [default:3]') args = parser.parse_args() dt = 1e-4 dur = 1.4 Nt = int(dur / dt) file_name = None screen = False if args.log.lower() in ['file', 'both']: file_name = 'neurokernel.log' if args.log.lower() in ['screen', 'both']: screen = True logger = base.setup_logger(file_name, screen) if args.port_data is None and args.port_ctrl is None: port_data = get_random_port() port_ctrl = get_random_port() else: port_data = args.port_data port_ctrl = args.port_ctrl man = core.Manager(port_data, port_ctrl) man.add_brok() # Load configurations for lamina, medulla and antennal lobe models: (n_dict_al, s_dict_al) = LPU.lpu_parser('./data/antennallobe.gexf.gz') lpu_al = LPU(dt, n_dict_al,
help='Number of sensory neurons associated with LPU 0 [default: %s]' % N_sensory) parser.add_argument('-n', '--num_local', default=N_local, type=int, help='Number of local neurons in each LPU [default: %s]' % N_local) parser.add_argument('-o', '--num_output', default=N_output, type=int, help='Number of output neurons in each LPU [default: %s]' % N_output) parser.add_argument('-u', '--num_lpus', default=num_lpus, type=int, help='Number of LPUs [default: %s]' % num_lpus) args = parser.parse_args() file_name = None screen = False if args.log.lower() in ['file', 'both']: file_name = 'neurokernel.log' if args.log.lower() in ['screen', 'both']: screen = True logger = setup_logger(file_name, screen) # Set number of local and projection neurons in each LPU: N = args.num_lpus neu_dict = {i: [0, args.num_local, args.num_output] for i in xrange(N)} # Only LPU 0 receives input and should therefore be associated with a population # of sensory neurons: neu_dict[0][0] = args.num_sensory # Create input signal for LPU 0: in_file_name_0 = 'generic_input.h5' g.create_input(in_file_name_0, neu_dict[0][0], dt, dur, start, stop, I_max) # Store info for all instantiated LPUs in the following dict: lpu_dict = {}
) parser.add_argument("-s", "--steps", default=steps, type=int, help="Number of steps [default: %s]" % steps) parser.add_argument("-d", "--port_data", default=None, type=int, help="Data port [default: randomly selected]") parser.add_argument("-c", "--port_ctrl", default=None, type=int, help="Control port [default: randomly selected]") parser.add_argument("-a", "--lam_dev", default=0, type=int, help="GPU for lamina lobe [default: 0]") parser.add_argument("-m", "--med_dev", default=1, type=int, help="GPU for medulla [default: 1]") args = parser.parse_args() file_name = None screen = False if args.log.lower() in ["file", "both"]: file_name = "neurokernel.log" if args.log.lower() in ["screen", "both"]: screen = True logger = base.setup_logger(file_name, screen) if args.port_data is None and args.port_ctrl is None: port_data = get_random_port() port_ctrl = get_random_port() else: port_data = args.port_data port_ctrl = args.port_ctrl man = core.Manager(port_data, port_ctrl) man.add_brok() (n_dict_lam, s_dict_lam) = lpu_parser("./data/lamina.gexf.gz") lpu_lam = LPU( dt, n_dict_lam,
num_lpus = 2 num_gpot = 100 num_spike = 100 max_steps = 100 parser = argparse.ArgumentParser() parser.add_argument('--debug', default=False, dest='debug', action='store_true', help='Enable debug mode.') parser.add_argument('-l', '--log', default='none', type=str, help='Log output to screen [file, screen, both, or none; default:none]') parser.add_argument('-u', '--num_lpus', default=num_lpus, type=int, help='Number of LPUs [default: %s]' % num_lpus) parser.add_argument('-s', '--num_spike', default=num_spike, type=int, help='Number of spiking ports [default: %s]' % num_spike) parser.add_argument('-g', '--num_gpot', default=num_gpot, type=int, help='Number of graded potential ports [default: %s]' % num_gpot) parser.add_argument('-m', '--max_steps', default=max_steps, type=int, help='Maximum number of steps [default: %s]' % max_steps) args = parser.parse_args() file_name = None screen = False if args.log.lower() in ['file', 'both']: file_name = 'neurokernel.log' if args.log.lower() in ['screen', 'both']: screen = True logger = setup_logger(file_name=file_name, screen=screen, multiline=True) print emulate(args.num_lpus, args.num_spike, args.num_gpot, args.max_steps)
if args.medulla_device: dev2 = int(args.medulla_device) else: dev2 = 1 if args.steps: steps = int(args.steps) else: steps = 10000 dt = 1e-4 dur = 1.0 Nt = 10000 # int(dur/dt) logger = base.setup_logger() man = core.Manager(port_data=data_port, port_ctrl=ctrl_port) man.add_brok() (n_dict_lam, s_dict_lam) = lpu_parser("./config_files/lamina.gexf") lam = LPU( dt, n_dict_lam, s_dict_lam, input_file="videos/flicker_stripe_same6.h5", output_file="lamina_output.h5", port_ctrl=man.port_ctrl, port_data=man.port_data, device=dev1, id="lamina",
help='Number of output neurons in each LPU [default: %s]' % N_output) parser.add_argument('-u', '--num_lpus', default=num_lpus, type=int, help='Number of LPUs [default: %s]' % num_lpus) args = parser.parse_args() file_name = None screen = False if args.log.lower() in ['file', 'both']: file_name = 'neurokernel.log' if args.log.lower() in ['screen', 'both']: screen = True logger = setup_logger(file_name, screen) # Set number of local and projection neurons in each LPU: N = args.num_lpus neu_dict = {i: [0, args.num_local, args.num_output] for i in xrange(N)} # Only LPU 0 receives input and should therefore be associated with a population # of sensory neurons: neu_dict[0][0] = args.num_sensory # Create input signal for LPU 0: in_file_name_0 = 'generic_input.h5' g.create_input(in_file_name_0, neu_dict[0][0], dt, dur, start, stop, I_max) # Store info for all instantiated LPUs in the following dict: lpu_dict = {}