安装CUDA 11.8适配版PyTorch后,无法从transformers导入pipeline模块
安装CUDA 11.8适配版PyTorch后,无法从transformers导入pipeline模块
看起来你遇到的问题根源非常明确——PyTorch和torchvision的CUDA编译版本不匹配,这直接导致了transformers模块的导入失败。
从报错信息里的关键提示就能一眼看穿问题:
RuntimeError: Detected that PyTorch and torchvision were compiled with different CUDA major versions. PyTorch has CUDA Version=11.8 and torchvision has CUDA Version=12.1. Please reinstall the torchvision that matches your PyTorch install.
简单说,你装的PyTorch是适配CUDA11.8的,但torchvision却是适配CUDA12.1的版本,两者不兼容,进而牵连到了依赖torchvision的transformers模块。
下面是具体的解决步骤,跟着走就能搞定:
1. 先卸载不匹配的PyTorch套件
把当前环境里的torch、torchvision、torchaudio全部卸载干净,避免残留文件搞事情:
pip3 uninstall -y torch torchvision torchaudio
2. 清理pip缓存(可选但推荐)
有时候pip会缓存旧版本的安装包,导致重新安装时还是用错版本,所以清理一下更稳妥:
pip3 cache purge
3. 重新安装适配CUDA11.8的完整套件
用你之前的命令重新安装,这次确保三个包都从PyTorch官方的CUDA11.8源获取,保证版本完全匹配:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
4. 验证安装是否正确
打开Python交互环境,输入以下代码检查版本是否一致:
import torch import torchvision # 打印PyTorch的CUDA版本 print("PyTorch CUDA版本:", torch.version.cuda) # 打印torchvision的CUDA版本 print("Torchvision CUDA版本:", torchvision.version.cuda)
如果输出的两个版本都是11.8,说明安装成功了。
5. 测试transformers导入
最后再测试导入pipeline:
from transformers import pipeline # 可以初始化一个简单的pipeline验证功能正常 pipe = pipeline("text-generation", model="gpt2") print(pipe("Hello, world!")[0]['generated_text'])
额外提醒
- 一定要在你的虚拟环境(my-env)里执行这些命令,别影响到全局Python环境。
- 如果还是有问题,可以尝试升级transformers到最新版本,确保它和当前PyTorch版本兼容:
pip3 install --upgrade transformers
本质就是把torchvision换成和PyTorch CUDA版本一致的版本,问题就能解决啦~




