With the latest version 0.20.2 snips-nlu library on a windows 10 machine (python 3.8.15 and numpy 1.24.0), I got attribute Error when fitting the engine. What could be the issue?
(nlpenv) C:\Users\one>python -m snips_nlu train sample_dataset.json nlu_engine
Create and train the engine...
Traceback (most recent call last):
File "C:\Users\one\.conda\envs\nlpenv\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\one\.conda\envs\nlpenv\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\__main__.py", line 6, in <module>
main()
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\cli\__init__.py", line 52, in main
args.func(args)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\cli\training.py", line 23, in _train
return train(
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\cli\training.py", line 56, in train
engine = SnipsNLUEngine(config, random_state=random_state).fit(dataset)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\common\log_utils.py", line 30, in wrapped
res = fn(*args, **kwargs)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\nlu_engine\nlu_engine.py", line 126, in fit
recycled_parser.fit(dataset, force_retrain)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\common\log_utils.py", line 30, in wrapped
res = fn(*args, **kwargs)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\intent_parser\probabilistic_intent_parser.py", line 77, in fit
self.intent_classifier.fit(dataset)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\common\log_utils.py", line 30, in wrapped
res = fn(*args, **kwargs)
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\snips_nlu\intent_classifier\log_reg_classifier.py", line 67, in fit
from sklearn.linear_model import SGDClassifier
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\sklearn\linear_model\__init__.py", line 12, in <module>
from ._least_angle import (Lars, LassoLars, lars_path, lars_path_gram, LarsCV,
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\sklearn\linear_model\_least_angle.py", line 30, in <module>
method='lar', copy_X=True, eps=np.finfo(np.float).eps,
File "C:\Users\one\.conda\envs\nlpenv\lib\site-packages\numpy\__init__.py", line 284, in __getattr__
raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'float'
I think it is the version of numpy. I got the same error while running my code with
python3.10.9
,numpy 1.24.2
,snips-nlu 0.20.2
. I uninstall numpy1.24.2, install numpy1.23.5 and then it works. So, the solution might be:pip uninstall numpy
pip install numpy==1.23.5
I know numpy1.23.5 works because I was once successfully ran the code in an online tutorial with
python3.8
andnumpy 1.23.5
. However, I am not able to find that requirement in snips-nlu Doc. Its' also strange that numpy1.24.2 get installed withpip install snips-nlu
.