Cannot import brain2modelfitting

Description of problem:

I am trying to import brian2modelfitting but get and error related to importing NaN

Minimal code to reproduce problem:

I install brian2modelfitting: with pip install brian2modelfitting

and then import with: from brian2modelfitting import *

What you have aready tried:

I have tried running this on both Google Colab and my own machine. I have also tried changing to an earlier version of numpy, but this gives a different error

Actual output (if relevant)

ImportError                               Traceback (most recent call last)

/tmp/ipython-input-1516553585.py in <cell line: 0>()
      1 from brian2 import *
      2 from brian2tools import *
----> 3 from brian2modelfitting import *
      4 from nevergrad.optimization import registry
      5 print(sorted(registry.keys()))



2 frames


/usr/local/lib/python3.12/dist-packages/brian2modelfitting/metric.py in <module>
     10 from brian2 import Hz, second, Quantity, ms, us, get_dimensions
     11 from brian2.units.fundamentalunits import check_units, in_unit, DIMENSIONLESS
---> 12 from numpy import (array, sum, abs, amin, digitize, rint, arange, inf, NaN,
     13                    clip, mean)
     14 


ImportError: cannot import name 'NaN' from 'numpy' (/usr/local/lib/python3.12/dist-packages/numpy/__init__.py)

Full traceback of error (if relevant)

---------------------------------------------------------------------------

ImportError                               Traceback (most recent call last)

/tmp/ipython-input-3395504355.py in <cell line: 0>()
----> 1 from brian2modelfitting import *



2 frames


/usr/local/lib/python3.12/dist-packages/brian2modelfitting/__init__.py in <module>
      6 
      7 from .tests import run as run_test
----> 8 from .fitter import *
      9 from .optimizer import *
     10 from .metric import *


/usr/local/lib/python3.12/dist-packages/brian2modelfitting/fitter.py in <module>
     18 from brian2.core.functions import Function
     19 from .simulator import RuntimeSimulator, CPPStandaloneSimulator
---> 20 from .metric import Metric, SpikeMetric, TraceMetric, MSEMetric, normalize_weights
     21 from .optimizer import Optimizer
     22 from .utils import callback_setup, make_dic


/usr/local/lib/python3.12/dist-packages/brian2modelfitting/metric.py in <module>
     10 from brian2 import Hz, second, Quantity, ms, us, get_dimensions
     11 from brian2.units.fundamentalunits import check_units, in_unit, DIMENSIONLESS
---> 12 from numpy import (array, sum, abs, amin, digitize, rint, arange, inf, NaN,
     13                    clip, mean)
     14 


ImportError: cannot import name 'NaN' from 'numpy' (/usr/local/lib/python3.12/dist-packages/numpy/__init__.py)

Hi @OttDes I think you are seeing this because the released brian2wasm package is not compatible with numpy 2.x. When you install it, could you please try with pip install brian2modelfitting 'numpy<2'?

Hello @mstimberg,

Thank you. When I run this I get this error:

---------------------------------------------------------------------------

ImportError                               Traceback (most recent call last)

/tmp/ipython-input-3395504355.py in <cell line: 0>()
----> 1 from brian2modelfitting import *



5 frames


/usr/local/lib/python3.12/dist-packages/nevergrad/optimization/optimizerlib.py in <module>
      8 import cma
      9 import numpy as np
---> 10 from bayes_opt import UtilityFunction
     11 from bayes_opt import BayesianOptimization
     12 from ..common.typetools import ArrayLike


ImportError: cannot import name 'UtilityFunction' from 'bayes_opt' (/usr/local/lib/python3.12/dist-packages/bayes_opt/__init__.py)

I have been able to fix that problem. It now seems to be working.

Thank you!

1 Like