python深度学习报错:Original error was: No module named ‘numpy.core._multiarray_umath‘

一、报错分析

从报错信息来看,在启动 uvicorn 服务并尝试导入相关模块的过程中出现了一系列问题,最终导致了 ImportError,关键错误信息为 "No module named 'numpy.core._multiarray_umath'",这表明在导入 numpy 模块的过程中,无法找到 numpy.core._multiarray_umath 这个子模块,可能是由于以下几种原因:

  1. mkl-service 包未安装或相关初始化问题
    一开始出现了关于 mkl-service 包的警告信息:
    plaintext
    F:\Anaconda3\envs\env36\lib\site-packages\numpy_init _.py:140: UserWarning: mkl-service package failed to import, therefore Intel® MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service
    from. import _distributor_init
    这表明 mkl-service 包未能成功导入,可能会影响到 numpy 以及后续依赖 numpy 的模块(如 tensorflow)的正常运行,因为 mkl-service 包在某些情况下与 numpy 的初始化及正确运行相关。
  2. numpy 模块本身的安装或配置问题
    最终的 ImportError 显示无法导入 numpy.core._multiarray_umath,这可能是由于 numpy 本身安装不完整、版本不兼容或者与其他库(如 tensorflow)的依赖关系存在冲突等原因导致的。

二、解决办法

  1. 安装 mkl-service 包
    按照警告信息的提示,首先尝试安装 mkl-service 包,在当前 env36 环境下的命令行中执行以下命令:
    bash
    运行
    pip install mkl-service
    或者如果是使用 conda 管理环境,可以执行:
    bash
    运行
    conda install mkl-service
    安装完成后,再次尝试启动 uvicorn 服务,看是否还会出现相关报错。
  2. 检查并修复 numpy 的安装
    重新安装 numpy:
    先卸载当前环境中的 numpy 包,可以通过以下命令(根据使用的包管理工具选择):
    如果是使用 pip:
    bash
    运行
    pip uninstall numpy
    如果是使用 conda:
    bash
    运行
    conda uninstall numpy
    然后重新安装 numpy,同样根据包管理工具选择合适的命令:
    如果是使用 pip:
    bash
    运行
    pip install numpy
    如果是使用 conda:
    bash
    运行
    conda install numpy
    检查 numpy 版本兼容性:
    当前环境中的 numpy 版本是 "1.18.5",有些较新的库(如 tensorflow)可能对 numpy 的版本有一定要求。可以查看相关库(如 tensorflow)的官方文档,了解其推荐的 numpy 版本范围。
    如果发现当前 numpy 版本不在推荐范围内,可以尝试升级或降级 numpy 的版本。例如,如果需要升级,可以通过以下命令(根据包管理工具选择):
    如果是使用 pip:
    bash
    运行
    pip install --upgrade numpy
    如果是使用 conda:
    bash
    运行
    conda install --upgrade numpy
    反之,如果需要降级,可以先查找合适的版本号(例如通过 pip search numpy 或 conda search numpy),然后再按照安装命令加上版本号进行安装。比如,要安装版本为 "1.19.5" 的 numpy(假设通过 pip 安装),可以执行:
    bash
    运行
    pip install numpy==1.19.5
  3. 检查其他依赖库的兼容性
    由于报错是在导入 tensorflow 等一系列模块的过程中出现的,所以还需要检查 tensorflow 与 numpy、mkl-service 等其他相关库的兼容性。
    查看 tensorflow 官方文档:了解 tensorflow 对 numpy、mkl-service 等库的版本要求以及可能存在的已知兼容性问题。
    更新或调整相关库版本:根据官方文档的提示,如果发现存在不兼容的情况,可以通过上述的包管理工具( pip 或 conda)来更新或调整相关库的版本,使其达到兼容状态。
    通过以上步骤的排查和处理,应该可以解决目前遇到的模块导入报错问题,从而成功启动 uvicorn 服务。
相关推荐
猫猫的小茶馆2 分钟前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
灰灰勇闯IT7 分钟前
torchtitan-npu:在昇腾集群上训练大模型
深度学习
大模型最新论文速读7 分钟前
PreFT:只在 prefill 时使用 LoRA,推理速度翻倍效果不降
论文阅读·人工智能·深度学习·机器学习·自然语言处理
Miss_min29 分钟前
128K长序列数据生成
开发语言·python·深度学习
love530love33 分钟前
MingLi-Bench 项目部署实录:基于 EPGF 架构的工程化实践
人工智能·windows·python·架构·aigc·epgf·mingli-bench
猿儿本无心1 小时前
快速搭建Python项目(Vscode+uv+FastAPI)
vscode·python·uv
AI算法沐枫1 小时前
大模型 | 大模型之机器学习基本理论
人工智能·python·神经网络·学习·算法·机器学习·计算机视觉
li星野1 小时前
Transformer 核心模块详解:多头注意力、前馈网络与词嵌入
人工智能·深度学习·transformer
动物园猫1 小时前
面向智慧牧场的牛行为识别数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·分类
OzupeSir1 小时前
三门两羊问题 - 蒙提霍尔问题
python·概率论