Пример #1
0
    def test_gridsearcher(self):
        def func(param_dict):
            x, y = param_dict['x'], param_dict['y']
            return x * x + y * y

        from NeuroTools.parameters import ParameterSpace, ParameterRange
        grid = ParameterSpace({
            'x': ParameterRange([-2., -1., 0., 1., 2.]),
            'y': ParameterRange([-2., -1., 0., 1., 2.])
        })
        gs = optimizers.GridSearcher(grid, func)
        retdict = gs.search()
        self.failUnlessEqual(retdict['min_value'], 0.)
        self.failUnlessEqual(retdict['min_params'], {'x': 0., 'y': 0.})
def make_param_dict_list():
    """
    create a list of parameter dictionaries for the model network.
    """
    # there is certainly a way to do this with NeuroTools.
    import numpy
    rates = numpy.linspace(start=10., stop=100., num=5)
    weights = numpy.linspace(start=0.1, stop=1.0, num=5)
    from NeuroTools.parameters import ParameterSet, ParameterSpace, ParameterRange
    params = ParameterSpace(
        ParameterSet({
            'rate': ParameterRange(rates),
            'weight': ParameterRange(weights)
        }))
    dictlist = [p.as_dict() for p in params.iter_inner()]
    return dictlist
Пример #3
0
def make_param_dict_list(N):
    """
    create a list of parameter dictionaries for the model network.
    """
    N_snr, N_seeds = 5, 10
    from NeuroTools.parameters import ParameterSpace, ParameterRange
    import numpy
    params = ParameterSpace({
        'N':
        N,
        'snr':
        ParameterRange(list(numpy.linspace(0.1, 2.0, N_snr))),
        'kernelseed':
        ParameterRange(list([12345 + k for k in range(N_seeds)]))
    })

    dictlist = [p.as_dict() for p in params.iter_inner()]
    return dictlist
Пример #4
0
def parameter_scan(p=None):
    if p is None:
        p = default_parameters()

    #p.K2 = ParameterRange([0.7,0.0])


#    p.dt = ParameterRange([1.,6.77,10.,1000.]) # ms
#p.td = ParameterRange([0.])#,6.,20.])
#p.t1 = ParameterRange([0.]) # ms
#p.t2 = ParameterRange([0.]) # ms
#g = 0.8
#p.c1 = ParameterRange([0.14*g])
#p.c2 = ParameterRange([0.12*g])
    p.sigma_c = ParameterRange([0.1, 0.4, 0.8])
    p.K2 = ParameterRange([0., 0.7, 1.4])
    create_figure()

    for experiment in p.iter_inner():
        name = make_name(experiment, p.range_keys())
        print name
        plot_receptive_field(p=experiment, label=name)
Пример #5
0
from NeuroTools.parameters import ParameterSet
from NeuroTools.parameters import ParameterRange
from NeuroTools.parameters import ParameterTable

p = ParameterSet({})
p.orientation = ParameterTable("""
#           RS  RSa RSb FS FSa FSb 
RS          15. 15. 12  13  12  1
FS          15. 15.  9 2    2  9
LGN          0.  12. 0  2  0  0
V2            3.  2. 2   2  9 7
M1            0.  0. 8 2  2   1
""")
p.a = 23
p.b = ParameterSet({})
p.b.s = ParameterRange([1, 2, 3])
p.b.w = ParameterTable("""
#           RS  FS
all          1. 0.
none         -1. -2.
""")
p.name = 'first experiment'
p.simulator = 'pyNN'

p.export('exported_model_parameters.tex', format='latex', **{'indent': 1.5})
            if is_exe(exe_file):
                return exe_file


################################################################################
# Main simulation parameterspaces
################################################################################

PS = {}

PS['simres_RS'] = ParameterSpace({
    'morphology':
    os.path.join('morphologies',
                 'C120398A-P1.CNG_sansAxon.hoc'),  #L4 Stellate Cell, rat
    'rm':
    ParameterRange([11250]),
    'Ra':
    ParameterRange([150]),
    'cm':
    ParameterRange([0.9]),
    'custom_code':
    ParameterRange([['add_spines.hoc']]),
    'active':
    ParameterRange([False]),
    'v_init':
    ParameterRange([-66.]),  #Beierlein
    'pop_params_n':
    ParameterRange([4000]),
    'pop_geom':
    ParameterRange([[500, -250, 250]]),
    'tau1':
Пример #7
0
import NeuroTools.stgen as stgen
sg = stgen.StGen()

from NeuroTools.parameters import ParameterSpace
from NeuroTools.parameters import ParameterRange
from NeuroTools.sandbox import make_name

# creating a ParameterSpace
p = ParameterSpace({})

# adding fixed parameters
p.nu = 20.  # rate [Hz]
p.duration = 1000.

# adding ParameterRanges
p.c = ParameterRange([0.0, 0.01, 0.1, 0.5])
p.jitter = ParameterRange([
    0.0,
    1.0,
    5.0,
])

# calculation of the ParameterSpace dimension and the labels of the parameters
# containing a range
dims, labels = p.parameter_space_dimension_labels()
print "dimensions: ", dims
print ' labels: ', labels


def calc_cc(p):
    """
Пример #8
0
p.gL = 25.
p.tref = 2.

# Parameters for running
p.timestep = 0.1
p.min_delay = 0.1
p.max_delay = 5.1
p.runtime = 500000.

# Parameters for number and connections
p.r0 = 1400.  # excitatory input rate
p.ri = 1647.  # inhibitory input rate
p.je = 0.015  # excitatory synaptic weight
p.ji = -0.015  # inhibitory synaptic weight
p.cb = ParameterRange(numpy.arange(
    1., 1.001,
    0.05))  # between-cell correlation of background input (NSD input)
p.N = 1000  # number of daughter cells for MIP
p.r = ParameterRange(numpy.arange(100., 101., 400.))  # MIP rate
p.c = ParameterRange(numpy.array([0.05]))  # with-pool correlation in MIP
p.q = ParameterRange(numpy.arange(
    0.2, 0.2501, 0.05))  # between-cell correlation of MIP input (SD input)
p.edge = ParameterRange(numpy.array([0.]))  # range of temporal jitter of MIP

dims, labels = p.parameter_space_dimension_labels()
results = numpy.empty(dims)
for experiment in p.iter_inner():
    name = make_name(experiment, p.range_keys())
    print name
    model = st.Striatum()
    model.run(sim, experiment, name)
Пример #9
0
Having fixed the background noise we are just studying now how different
signal to noise ratios are integrated by the neurons.

Laurent Perrinet, INCM, CNRS

$ Id $

"""

import os, sys, numpy, pylab, shelve

N, N_exp = 1000, 6
t_smooth = 100.  # width (in ms) of the integration window
from NeuroTools.parameters import ParameterSpace, ParameterRange
snr = 2.0 * numpy.linspace(0.1, 2.0, N_exp)
p = ParameterSpace({'snr': ParameterRange(list(snr))})

name = sys.argv[0].split('.')[
    0]  # name of the current script withpout the '.py' part
results = shelve.open('results/mat-' + name)
try:

    temporal_ON = results['temporal_ON']
    temporal_OFF = results['temporal_OFF']
    lower_edges = results['lower_edges']
    params = results['params']
    #if (params == retina.params): raise('Parameters have changed')

except:
    from retina import *
    retina = Retina(N)
Пример #10
0
p.E_ex = 0.
p.E_in = -70.
p.ie = 0.
p.cm = 500.
p.gL = 25.
p.tref = 2.

# Parameters for running
p.timestep = 0.1
p.min_delay = 0.1
p.max_delay = 5.1
p.runtime = 100000.

# Parameters for number and connections
p.r0 = 2000.  # excitatory input rate
p.ri = 1647.  # inhibitory input rate
p.je = 0.015  # excitatory synaptic weight
p.ji = -0.015  # inhibitory synaptic weight
p.cb = ParameterRange(numpy.arange(0., 1.001,
                                   0.05))  # between-cell correlation

dims, labels = p.parameter_space_dimension_labels()
results = numpy.empty(dims)
for experiment in p.iter_inner():
    name = make_name(experiment, p.range_keys())
    print name
    model = st.Striatum()
    model.run(sim, experiment, name)
    index = p.parameter_space_index(experiment)
    results[index] = 0