for proj in projections: proj_item, = runtime.results().synapse_routing.synapses().find(proj) synapse = proj_item.hardware_synapse() proxy = runtime.wafer()[synapse.toHICANNOnWafer()].synapses[synapse] proxy.weight = HICANN.SynapseWeight(15) marocco.skip_mapping = True marocco.backend = PyMarocco.Hardware # Full configuration during first step marocco.hicann_configurator = pysthal.ParallelHICANNv4Configurator() for n, spike_times in enumerate([[100,110], [200,210], [300,310]]): runtime.results().spike_times.set(stimulus_neuron, spike_times) pynn.run(duration) np.savetxt("membrane_n{}.txt".format(n), pop.get_v()) np.savetxt("spikes_n{}.txt".format(n), pop.getSpikes()) pynn.reset() # only change digital parameters from now on marocco.hicann_configurator = pysthal.NoResetNoFGConfigurator() # skip checks marocco.verification = PyMarocco.Skip marocco.checkl1locking = PyMarocco.SkipCheck # store the last result for visualization runtime.results().save("results.xml.gz", True)
############################################################################ ############################################################################ wafer = int(os.environ.get("WAFER", 33)) marocco = PyMarocco() marocco.backend = PyMarocco.Hardware marocco.default_wafer = C.Wafer(wafer) runtime = Runtime(marocco.default_wafer) # calib_path = "/wang/data/calibration/brainscales/WIP-2018-09-18" # marocco.calib_path = calib_path # marocco.defects.path = marocco.calib_path marocco.verification = PyMarocco.Skip marocco.checkl1locking = PyMarocco.SkipCheck marocco.continue_despite_synapse_loss = True SYNAPSE_DECODER_DISABLED_SYNAPSE = HICANN.SynapseDecoder(1) ### ====================== NETWORK CONSTRUCTION =========================== ### sim.setup(timestep=1.0, min_delay=1.0, marocco=marocco, marocco_runtime=runtime) e_rev = 92 # mV # e_rev = 500.0 #mV base_params = { # 'cm': 0.1, # nF # 'v_reset': -70., # mV # 'v_rest': -65., # mV # 'v_thresh': -55., # mV
import numpy as np import pyhmf as pynn from pymarocco import PyMarocco import Coordinate as C from pysthal.command_line_util import init_logger init_logger("ERROR", [('sthal', 'INFO')]) marocco = PyMarocco() marocco.default_wafer = C.Wafer(30) marocco.calib_path = "/wang/data/calibration/brainscales/wip" marocco.defects.path = marocco.calib_path marocco.backend = PyMarocco.Hardware marocco.persist = "exercise_01.xml.gz" marocco.checkl1locking = PyMarocco.CheckButIgnore marocco.verification = PyMarocco.Skip pynn.setup(marocco=marocco) neuron_parameters = { 'cm': 0.2, # nF 'v_reset': -30, # mV 'v_rest': -20, # mV 'v_thresh': -16, # mV 'e_rev_I': -40, # mV 'e_rev_E': 0, # mV 'tau_m': 10, # ms 'tau_refrac': 1, # ms 'tau_syn_E': 5, # ms 'tau_syn_I': 5, # ms }