RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.

本文介绍了解决numpy引发的RuntimeWarning错误的方法,通过卸载并重新安装scipy和scikit-learn来避免二进制不兼容的问题。

RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.
导致这个错误的原因可能不止一个。
小编的处理方式是:

pip uninstall -y scipy scikit-learn
pip install --no-binary scipy,scikit-learn -I scipy scikit-learn
usr/lib/python3/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 2.2.4 warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}" Traceback (most recent call last): File "/home/gyh/.local/lib/python3.10/site-packages/evo/entry_points.py", line 95, in launch main_module.run(args) File "/home/gyh/.local/lib/python3.10/site-packages/evo/main_traj.py", line 181, in run import evo.core.lie_algebra as lie File "/home/gyh/.local/lib/python3.10/site-packages/evo/core/lie_algebra.py", line 25, in <module> import scipy.spatial.transform as sst File "/usr/lib/python3/dist-packages/scipy/spatial/__init__.py", line 102, in <module> from ._kdtree import * File "/usr/lib/python3/dist-packages/scipy/spatial/_kdtree.py", line 5, in <module> from ._ckdtree import cKDTree, cKDTreeNode File "_ckdtree.pyx", line 1, in init scipy.spatial._ckdtree ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject /usr/lib/python3/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 2.2.4 warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}" Traceback (most recent call last): File "/home/gyh/.local/bin/evo_ape", line 8, in <module> sys.exit(ape()) File "/home/gyh/.local/lib/python3.10/site-packages/evo/entry_points.py", line 51, in ape handle_entry_point("ape") File "/home/gyh/.local/lib/python3.10/site-packages/evo/entry_points.py", line 46, in handle_entry_point main_module = import_module(f"evo.main_{app_name}") File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027,
03-30
### 解决方案 当遇到 `RuntimeError` 或者 `ValueError: numpy.dtype size changed, may indicate binary incompatibility.` 的问题时,通常是因为安装的 NumPy 版本与其他依赖库之间存在二进制兼容性问题。以下是详细的解决方案: #### 1. 环境冲突分析 NumPy 是许多科学计算库的基础组件,其数据类型定义如果发生变化可能会引发其他依赖它的库出现问题。具体来说,错误提示表明当前环境中使用的 NumPy 数据类型的大小与某些编译后的扩展模块期望的不同[^1]。 #### 2. 修改 NumPy 版本 为了修复此问题,可以尝试将 NumPy 升级到最新稳定版或者回退至已知稳定的版本(如 `numpy==1.25.2`)。这可以通过以下命令完成: ```bash pip install --upgrade numpy ``` 或者指定特定版本: ```bash pip install numpy==1.25.2 ``` #### 3. 清理缓存并重新安装依赖项 有时旧版本的包可能仍然存在于环境中的缓存里,因此建议清理 Pip 缓存后再执行上述操作: ```bash pip cache purge ``` 之后再次运行项目所需的全部依赖安装脚本以确保一致性[^2]: ```bash git clone -b 0.3.3 https://github.com/open-compass/opencompass.git cd opencompass pip install -e . pip install -r requirements.txt pip install huggingface_hub==0.25.2 ``` #### 4. 测试修正效果 最后验证更改是否有效,可直接调用相关功能测试是否有异常抛出。例如加载模型配置文件后启动评估流程: ```python import os from opencompass.models import OpenAISDK os.environ['INTERNLM_API_KEY'] = '<your_api_key>' models = [ { "type": OpenAISDK, "path": "internlm2.5-latest", "key": os.getenv('INTERNLM_API_KEY'), "openai_api_base": "https://internlm-chat.intern-ai.org.cn/puyu/api/v1/", "rpm_verbose": True, "query_per_second": 0.16, "max_out_len": 1024, "max_seq_len": 4096, "temperature": 0.01, "batch_size": 1, "retry": 3 } ] # Run the evaluation script with debug mode enabled. command_to_run = "python run.py --models puyu_api.py --datasets demo_cmmlu_chat_gen.py --debug" print(f"Executing command: {command_to_run}") os.system(command_to_run) ``` 以上方法应能解决因 NumPy dtype 不一致引起的 RuntimeError 和 ValueError 问题。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值