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