brian-team/brian2modelfitting

Issue with Multi-run of Hodgkin-Huxley Example

Opened this issue · 3 comments

I'm pretty new to python, so this could be an issue with what I have done. I pip installed brian2 and brian2modelfitting. Now I'm trying to run the Multi-run Hodgkin-Huxley example (https://brian2modelfitting.readthedocs.io/en/stable/examples/hh_multirun.html). I copied and pasted the code from the tutorial but when I run it I get the error:


ValueError                                Traceback (most recent call last)
[c:\Users\mmgee\Documents\DMV\test_brian2modelfitting.py](file:///C:/Users/mmgee/Documents/DMV/test_brian2modelfitting.py) in line 55
     [48](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=47) ## Fitting
     [49](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=48) fitter = TraceFitter(model=eqs, input_var='I', output_var='v',
     [50](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=49)                      input=inp_traces*amp, output=out_traces*mV, dt=dt,
     [51](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=50)                      n_samples=20,
     [52](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=51)                      param_init={'v': -65*mV},
     [53](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=52)                      method='exponential_euler')
---> [55](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=54) res, error = fitter.fit(n_rounds=2,
     [56](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=55)                         optimizer=n_opt, metric=metric,
     [57](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=56)                         callback='progressbar',
     [58](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=57)                         gl = [1e-09 *siemens, 1e-07 *siemens],
     [59](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=58)                         g_na = [2e-06*siemens, 2e-04*siemens],
     [60](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=59)                         g_kd = [6e-07*siemens, 6e-05*siemens],
     [61](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=60)                         Cm=[0.1*ufarad*cm**-2 * area, 2*ufarad*cm**-2 * area])
     [63](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=62) ## Show results
     [64](file:///c%3A/Users/mmgee/Documents/DMV/test_brian2modelfitting.py?line=63) all_output = fitter.results(format='dataframe')

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2modelfitting\fitter.py:866](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py:866), in TraceFitter.fit(self, optimizer, metric, n_rounds, callback, restart, start_iteration, penalty, level, **params)
    [861](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=860)         raise ValueError("The 't_weights' argument of the metric has "
    [862](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=861)                          "to be a one-dimensional array of length "
    [863](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=862)                          f"{self.output.shape[1]} but has shape "
    [864](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=863)                          f"{metric.t_weights.shape}")
    [865](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=864) self.bounds = dict(params)
--> [866](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=865) best_params, error = super().fit(optimizer, metric, n_rounds,
    [867](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=866)                                  callback, restart,
    [868](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=867)                                  start_iteration=start_iteration,
    [869](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=868)                                  penalty=penalty,
    [870](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=869)                                  level=level+1,
    [871](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=870)                                  **params)
    [872](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=871) return best_params, error

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2modelfitting\fitter.py:590](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py:590), in Fitter.fit(self, optimizer, metric, n_rounds, callback, restart, online_error, start_iteration, penalty, level, **params)
    [586](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=585) # Check whether we can reuse the current simulator or whether we have
    [587](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=586) # to create a new one (only relevant for standalone, but does not hurt
    [588](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=587) # for runtime)
    [589](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=588) if self.simulator is None or self.simulator.current_net != 'fit':
--> [590](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=589)     self.simulator = self.setup_simulator('fit', self.n_neurons,
    [591](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=590)                                           output_var=self.output_var,
    [592](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=591)                                           online_error=online_error,
    [593](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=592)                                           param_init=self.param_init,
    [594](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=593)                                           level=level+1)
    [596](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=595) # Run Optimization Loop
    [597](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=596) for index in range(n_rounds):

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2modelfitting\fitter.py:365](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py:365), in Fitter.setup_simulator(self, network_name, n_neurons, output_var, param_init, calc_gradient, optimize, online_error, level)
    [362](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=361) if self.output_var != 'spikes':
    [363](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=362)     namespace['output_var'] = TimedArray(self.output.transpose(),
    [364](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=363)                                          dt=self.dt)
--> [365](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=364) neurons = self.setup_neuron_group(n_neurons, namespace,
    [366](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=365)                                   calc_gradient=calc_gradient,
    [367](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=366)                                   optimize=optimize,
    [368](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=367)                                   online_error=online_error)
    [369](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=368) network = Network(neurons)
    [370](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=369) if isinstance(output_var, str):

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2modelfitting\fitter.py:418](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py:418), in Fitter.setup_neuron_group(self, n_neurons, namespace, calc_gradient, optimize, online_error, name)
    [416](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=415)     kwds['method'] = self.method
    [417](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=416) model = self.model + Equations('iteration : integer (constant, shared)')
--> [418](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=417) neurons = NeuronGroup(n_neurons, model,
    [419](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=418)                       threshold=self.threshold, reset=self.reset,
    [420](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=419)                       refractory=self.refractory, name=name,
    [421](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=420)                       namespace=namespace, dt=self.dt, **kwds)
    [422](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=421) if calc_gradient:
    [423](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=422)     sensitivity_eqs = get_sensitivity_equations(neurons,
    [424](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=423)                                                 parameters=self.parameter_names,
    [425](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=424)                                                 optimize=optimize,
    [426](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2modelfitting/fitter.py?line=425)                                                 namespace=namespace)

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2\groups\neurongroup.py:538](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py:538), in NeuronGroup.__init__(self, N, model, method, method_options, threshold, reset, refractory, events, namespace, dtype, dt, clock, order, name, codeobj_class)
    [520](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=519) def __init__(
    [521](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=520)     self,
    [522](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=521)     N,
   (...)
    [536](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=535)     codeobj_class=None,
    [537](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=536) ):
--> [538](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=537)     Group.__init__(
    [539](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=538)         self,
    [540](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=539)         dt=dt,
    [541](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=540)         clock=clock,
    [542](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=541)         when="start",
    [543](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=542)         order=order,
    [544](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=543)         namespace=namespace,
    [545](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=544)         name=name,
    [546](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=545)     )
    [547](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=546)     if dtype is None:
    [548](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/groups/neurongroup.py?line=547)         dtype = {}

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2\units\fundamentalunits.py:2780](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py:2780), in check_units.<locals>.do_check_units.<locals>.new_f(*args, **kwds)
   [2770](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2769)             error_message = (
   [2771](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2770)                 f"Function '{f.__name__}' "
   [2772](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2771)                 "expected a quantitity with unit "
   [2773](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2772)                 f"{unit} for argument '{k}' but got "
   [2774](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2773)                 f"'{value}'"
   [2775](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2774)             )
   [2776](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2775)             raise DimensionMismatchError(
   [2777](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2776)                 error_message, get_dimensions(newkeyset[k])
   [2778](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2777)             )
-> [2780](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2779) result = f(*args, **kwds)
   [2781](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2780) if "result" in au:
   [2782](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/units/fundamentalunits.py?line=2781)     if isinstance(au["result"], Callable) and au["result"] != bool:

File [~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\brian2\core\base.py:161](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/mmgee/Documents/DMV/~/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py:161), in BrianObject.__init__(self, dt, clock, when, order, namespace, name)
    [159](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=158) for key in namespace:
    [160](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=159)     if key.startswith("_"):
--> [161](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=160)         raise ValueError(
    [162](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=161)             "Names starting with underscores are "
    [163](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=162)             "reserved for internal use an cannot be "
    [164](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=163)             "defined in the namespace argument."
    [165](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=164)         )
    [166](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=165) #: The group-specific namespace
    [167](file:///c%3A/Users/mmgee/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/brian2/core/base.py?line=166) self.namespace = namespace

ValueError: Names starting with underscores are reserved for internal use an cannot be defined in the namespace argument.

Hi @michmgee, thanks for the report. Please note that I transferred it to the brian2modelfitting repository, since this is not about the brian2 package itself. Could you please state which version of brian2modelfitting and brian2 you are using? I am not 100% sure, but I think your problem might arise with a "too new" version of brian2, i.e. a version of brian2 that did not exist when we did the last brian2modelfitting release. I will hopefully make a new release soon that will take care of this and reinstate compatibility with the latest version.

Thanks for your prompt response! I'm using brian2 version 2.5.4 and brian2modelfitting version 0.4. What is the most current version of brian2 that I can use with brian2modelfitting?

Hmm, I just checked and I can run the example successfully with Brian 2.5.4. There was a bug fix related to variable names starting with underscores that seems to be relevant here, but I don't see any definition with an underscore anywhere in this example. Are you running the example in its own process, or is it ran as part of an ongoing session?

In any case, it should not give this specific error with Brian versions < 2.5. Alternatively, you can keep the latest Brian version and switch to the unreleased development version of brian2modelfitting, by installing it directly from git, e.g. with:

pip install https://github.com/brian-team/brian2modelfitting/archive/refs/heads/master.zip

But note that this package comes with additional dependencies that might be quite big (see #73).