Multiple frameworks detected, including: {‘, ‘.join(_frameworks)}.

部署运行你感兴趣的模型镜像

背景:使用魔乐社区进行大模型训练环境配置,在anaconda 环境下,出错了。
Multiple frameworks detected, including: {', '.join(_frameworks)}.
(cp310) [openmind@modeler-space-
openmind]$ python
Python 3.10.18 (main, Jun 5 2025, 13:08:10) [GCC 11.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.

import openmind
Traceback (most recent call last):
File “”, line 1, in
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/init.py”, line 21, in
from .utils import is_torch_available, is_transformers_available
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/init.py”, line 34, in
from .import_utils import (
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/import_utils.py”, line 65, in
CURRENT_FRAMEWORK = get_framework()
File “/home/openmind/miniconda3/envs/cp310/lib/python3.10/site-packages/openmind/utils/import_utils.py”, line 62, in get_framework
raise RuntimeError(f"Multiple frameworks detected, including: {', '.join(_frameworks)}. ")
RuntimeError: Multiple frameworks detected, including: pt, ms.

问题:
有两种框架并存,PyTorch和MindSpore,引入openmind时需要先指定哪种类型。
解决方法:
指定类型,或者删除其中的一种,只保留一种在系统内。
详解:
这个错误再次表明您的环境中同时存在 PyTorch (pt) 和 MindSpore (ms),导致 OpenMind 无法确定使用哪个框架。让我们解决这个问题:

解决方案(在 Python 交互环境中操作)

方法 1:设置环境变量后再导入
>>> import os
>>> os.environ["OPENMIND_FRAMEWORK"] = "pt"  # 选择 PyTorch
>>> import openmind  # 现在应该可以成功导入
方法 2:使用框架选择函数(如果 OpenMind 提供)
>>> import openmind.utils.import_utils as import_utils
>>> import_utils.set_framework("pt")  # 显式选择框架
>>> import openmind

永久解决方案(在终端中操作)

1. 检查已安装的框架包
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip list | grep -E "torch|mindspore"
torch                     2.1.0
torch-npu                 2.1.0
mindspore                 2.6.0
2. 选择保留一个框架(推荐)
# 保留 PyTorch,移除 MindSpore
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip uninstall mindspore -y

# 或保留 MindSpore,移除 PyTorch
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ pip uninstall torch torch-npu -y
3. 添加环境变量到启动脚本(如果必须保留两个)
# 编辑 ~/.bashrc 或环境配置文件
echo 'export OPENMIND_FRAMEWORK="pt"' >> ~/.bashrc
source ~/.bashrc

验证解决方案

# 方法1验证(设置环境变量后导入)
>>> import os
>>> os.environ["OPENMIND_FRAMEWORK"] = "pt"
>>> import openmind  # 应该不再报错
>>> print(openmind.__version__)
'1.0.0'

# 方法2验证(移除一个框架后)
(cp310) [openmind@modeler-space-e4333604-f5a4d040 openmind]$ python
>>> import openmind  # 应该直接成功

额外建议

  1. 检查框架依赖

    pip check  # 查看是否有其他冲突
    
  2. 创建专用环境

    conda create -n openmind-pt python=3.10
    conda activate openmind-pt
    pip install openmind torch torch-npu
    
  3. 升级 OpenMind(如果可用):

    pip install --upgrade openmind
    

注意:如果您在使用华为 Ascend NPU,确保只安装了与硬件兼容的框架版本。移除 mindspore 后,PyTorch 通过 torch-npu 应该仍然能使用 NPU 加速。

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

在 Android 构建配置中,当在 `Android.bp` 文件中使用 `product_variables` 时,若出现 `unrecognized property` 错误,通常意味着构建系统无法识别该属性。这种问题可能由多种原因造成,包括变量未正确定义、配置语法错误、模块依赖缺失或构建工具版本不兼容等。 为了解决此类错误,需要确保 `product_variables` 中定义的字段已经在全局构建配置中被正确声明。例如,如果使用了 `product_variables.tran_camera_thirdpart_support.cflags`,则应在全局配置中定义 `tran_camera_thirdpart_support`,否则构建系统将无法识别该字段,从而导致错误[^2]。 以下是一个在 `Android.bp` 中定义 `product_variables` 的正确示例: ```starlark cc_library_shared { name: "libexample", srcs: ["example.cpp"], cflags: [ "-DFORCE_CUSTOM_CFLAGS", ], product_variables: { tran_camera_thirdpart_support: { cflags: [ "-DENABLE_THIRDPART_SUPPORT", ], }, }, } ``` 在上述配置中,`tran_camera_thirdpart_support` 是一个条件变量,用于控制特定编译标志的启用。如果构建系统未定义该变量,则会导致 `unrecognized property` 错误。因此,需要在全局配置文件(如 `build/config`)中定义该变量,确保其在构建过程中被正确识别[^2]。 此外,还应验证 `Android.bp` 文件的语法是否正确。可以使用 `bpfmt` 工具格式化文件,确保其符合 Starlark 语法规范。同时,清理并重新同步构建环境,执行 `source build/envsetup.sh` 和 `lunch` 命令,以确保所有变量和配置正确加载。 若问题仍然存在,建议检查构建工具版本是否与项目兼容。使用过时的构建工具可能导致某些配置项无法被正确解析。可以通过 `repo sync` 更新 AOSP 源码,确保构建工具与项目版本一致。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值