Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Multi-run of Hodgkin-Huxley Example #74

Open
michmgee opened this issue Sep 26, 2023 · 3 comments
Open

Issue with Multi-run of Hodgkin-Huxley Example #74

michmgee opened this issue Sep 26, 2023 · 3 comments

Comments

@michmgee
Copy link

michmgee commented Sep 26, 2023

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.
@mstimberg mstimberg transferred this issue from brian-team/brian2 Sep 26, 2023
@mstimberg
Copy link
Member

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.

@michmgee
Copy link
Author

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?

@mstimberg
Copy link
Member

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants