conda环境下Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so.1 or libmkl_def.so.1.问题解决

1 问题描述

在运行数字人生成的项目中,出现如下错误

[Info] Using cuda for inference.
`[Step 0] Number of frames available for inference: 11738
INTEL MKL ERROR: /root/anaconda3/lib/libmkl_avx512.so.1: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8.
Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so.1 or libmkl_def.so.1.

2 问题分析

从错误信息中分析,与mkl有关

Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so.1 or libmkl_def.so.1.

尝试重新安装mkl相关模块

pip install mkl
pip install mkl-service

出现如下错误:

[root@localhost audio]# pip install  mkl
Looking in indexes: https://mirrors.aliyun.com/pypi/simple
Collecting mkl
  Using cached https://mirrors.aliyun.com/pypi/packages/da/f1/0ec69b42bdc3aea276c034a0167c6696f41a9f91b40f150069af2125b22b/mkl-2024.0.0-py2.py3-none-manylinux1_x86_64.whl (200.7 MB)
Collecting tbb==2021.*
  Using cached https://mirrors.aliyun.com/pypi/packages/31/fc/eeb2ab19f26e608bda910350b6f0a06e8dd1b472049b175ca36df93c81ff/tbb-2021.11.0-py2.py3-none-manylinux1_x86_64.whl (5.4 MB)
Collecting intel-openmp==2024.*
  Using cached https://mirrors.aliyun.com/pypi/packages/39/45/47db5df5baf685416b02048b13268eb5216bef49bdc8906b547403dd177e/intel_openmp-2024.0.0-py2.py3-none-manylinux1_x86_64.whl (28.6 MB)
Installing collected packages: tbb, intel-openmp, mkl
  Attempting uninstall: tbb
    Found existing installation: TBB 0.2
ERROR: Cannot uninstall 'TBB'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
(base) [root@localhost audio]# python inference.py --face examples/face/lyb_2k_25fps.mp4 --audio examples/audio/lyb_sjyf_44k.wav --outfile results/lyb_01.mp4
python: can't open file 'inference.py': [Errno 2] No such file or directory

3 问题解决

查找cuda与torch对应的版本,找到与本地cuda匹配的版本,重新安装。

查看地址:https://pytorch.org/get-started/previous-versions/

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113

4 conda环境介绍

Conda是一个开源的包管理器和环境管理系统,用于安装、运行和更新包和其依赖项。它是由Anaconda, Inc.(以前称为Continuum Analytics)创建,用于支持Python程序开发,但它也可以用来管理来自其他语言的包。Conda使得包管理和环境隔离变得简单,对于处理多个项目中的依赖关系和版本控制尤其有用。

Conda是一个强大的工具,对于管理复杂的Python项目和环境至关重要。它简化了包管理和环境设置,使得Python开发更加容易和高效。通过使用Conda,开发者可以确保他们的项目在不同机器和操作系统上都能以相同的方式运行,大大提高了项目的可移植性和可复现性。

4.1 Conda的核心功能

  • 包管理:Conda作为包管理器,可以安装、更新和移除Python包。它通过Conda仓库,如Anaconda Cloud或Conda Forge,来获取包。

  • 环境管理:Conda允许用户创建隔离的环境,以便于不同项目可以拥有不同的库和/或Python版本。这在处理不兼容的依赖项或不同项目的需求时非常有用。

  • 跨平台:Conda支持Linux、OS X和Windows,并允许创建跨平台的Python环境。

  • 开源:Conda是开源的,允许用户查看源代码并对其进行改进。

4.2 使用Conda的优势

  • 解决依赖性问题:Conda可以自动解决包之间的依赖关系,简化了安装过程。

  • 环境隔离:创建独立的环境可以避免包之间的版本冲突,使得项目更稳定。

  • 易于使用:Conda的命令行界面简单直观,易于学习和使用。

  • 广泛的包支持:Conda支持Python的许多流行库和应用程序。

  • 社区支持:作为一个流行的工具,Conda拥有一个活跃的社区,用户可以从中找到支持和资源。

4.3 Conda环境的创建和管理

  • 创建新环境:使用conda create命令创建一个新环境,可以指定Python版本和所需的包。

  • 激活环境:使用conda activate命令来激活环境。

  • 安装包:在激活的环境中使用conda install命令来安装新的包。

  • 环境列表:使用conda env list来查看所有可用的Conda环境。

  • 移除环境:使用conda env remove命令来移除不再需要的环境。

4.4 应用场景

  • 数据科学和机器学习:Conda非常适合于数据科学和机器学习项目,这些项目通常需要多个库和框架。

  • 软件开发:软件开发者使用Conda来管理项目依赖,确保一致的开发环境。

  • 教学和学术研究:教师和研究人员使用Conda来创建具有特定库和工具的环境,用于教学和研究。

你可能感兴趣的:(AI运行环境,python,开发语言)