You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snips-NLU 0.20.2训练引擎时出现AttributeError:numpy无float属性

问题原因:AttributeError: module 'numpy' has no attribute 'float'

问题场景

  • 系统:Windows 10
  • 环境:Python 3.8.15、numpy 1.24.0、snips-nlu 0.20.2
  • 触发操作:执行训练命令时报错
    (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'

原因分析

  • Numpy API变更:numpy 1.24.0正式移除了numpy.float这类旧的数值类型别名,这些别名在numpy 1.20版本后就被标记为弃用,1.24版本彻底删除。
  • 依赖版本不兼容:snips-nlu 0.20.2依赖的scikit-learn版本较低,该版本的scikit-learn代码中仍在使用np.float这种已被numpy移除的API,导致调用时触发AttributeError。

内容的提问来源于stack exchange,提问作者YuMei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:40:41