easy、AttributeError: module 'torch.backends' has no attribute 'mps'、
时间: 2025-01-31 13:09:56 浏览: 95
### 解决 PyTorch 中 'torch.backends' 没有属性 'mps' 的 AttributeError 错误
当遇到 `torch.backends` 没有属性 `mps` 的错误时,这通常意味着当前使用的 PyTorch 版本不支持 MPS (Multi-Process Service),或者环境配置存在问题。
#### 验证 PyTorch 安装及其版本
确保安装了最新版的 PyTorch。可以通过命令行运行以下 Python 脚本来验证已安装的 PyTorch 是否是最新的稳定版本:
```python
import torch
print(torch.__version__)
```
如果显示的版本较旧,则建议更新至最新的稳定版本[^2]。
#### 更新 PyTorch 到最新版本
对于基于 Conda 的虚拟环境中,可以执行如下命令来更新 PyTorch:
```bash
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
```
对于 pip 用户来说,应该使用对应的 pip 命令进行更新操作:
```bash
pip install --upgrade torch torchvision torchaudio
```
#### 检查硬件兼容性和 CUDA/MPS 支持情况
MPS 主要针对 Apple Silicon 设备上的 Metal 性能优化服务;而大多数情况下提到 GPU 加速是指通过 Nvidia 提供的 CUDA 技术实现。确认目标平台是否确实提供了对所需技术的支持非常重要。如果是苹果 M 系列芯片设备,请确保操作系统以及相关驱动程序都是最新的,并且已经启用了必要的图形加速选项[^4]。
#### 修改代码逻辑绕过 mps 检测
考虑到并非所有的计算资源都提供 MPS 功能,在某些场景下可以选择性跳过此部分检测或将默认设置更改为其他可用后端(如 CPU 或者 CUDA)。例如修改 EasyOCR 初始化过程中的这段代码:
```python
if torch.cuda.is_available():
self.device = "cuda"
elif hasattr(torch.backends, 'mps') and torch.backends.mps.is_available():
self.device = "mps"
else:
self.device = "cpu"
```
这样即使缺少 MPS 后端也不会影响整个应用程序正常工作。
阅读全文
相关推荐


















