世界再美我始终如一 2025-12-21 12:25 采纳率: 98.4%
浏览 4
已采纳

如何查看已安装的PyTorch版本?

如何在Python环境中正确查看已安装的PyTorch版本?常见问题包括使用`import torch`后执行`torch.__version__`时出现`AttributeError`或`ModuleNotFoundError`,可能由于PyTorch未正确安装或环境配置错误。此外,在虚拟环境或conda环境中误用pip安装可能导致版本不一致。如何确保在Jupyter Notebook或脚本中准确获取PyTorch版本,并区分CPU与GPU版本?
  • 写回答

1条回答 默认 最新

  • 时维教育顾老师 2025-12-21 12:25
    关注

    1. 基础:查看PyTorch版本的标准方法

    在Python环境中,最直接查看已安装的PyTorch版本的方式是通过导入torch模块并访问其__version__属性:

    import torch
    print(torch.__version__)
    

    该命令将输出类似2.0.11.13.1+cu117的版本字符串。若执行此代码时出现ModuleNotFoundError: No module named 'torch',说明PyTorch未安装或未在当前Python环境中正确配置。

    2. 进阶:排查ModuleNotFoundError的常见原因

    当遇到ModuleNotFoundError时,需检查以下几点:

    • 确认是否安装了PyTorch:使用pip list | grep torch(Linux/macOS)或pip list后手动查找(Windows)。
    • 检查当前Python环境:特别是在使用virtualenvvenvconda时,确保你在正确的环境中运行Python解释器。
    • 避免跨环境安装:例如,在激活的conda环境中使用系统级pip而非conda install可能导致包不可见。

    推荐使用以下命令统一管理安装源:

    # 在conda环境中优先使用conda
    conda install pytorch torchvision torchaudio -c pytorch
    
    # 或使用pip(确保pip属于当前环境)
    python -m pip install torch torchvision torchaudio
    

    3. 深入:解决AttributeError与版本兼容性问题

    虽然torch.__version__是标准接口,但在极少数情况下(如部分开发版或损坏安装),可能出现AttributeError。此时可尝试以下替代方案:

    方法代码示例适用场景
    标准方式torch.__version__绝大多数情况
    distutils解析import pkg_resources; pkg_resources.get_distribution("torch").version当模块加载异常时备用
    pip show命令!pip show torch(Jupyter中)脚本外快速验证

    4. 实践:在Jupyter Notebook中确保环境一致性

    Jupyter Notebook可能运行在与终端不同的Python内核上,导致即使已安装PyTorch仍无法导入。解决方案如下:

    1. 检查当前Notebook使用的内核:!which pythonimport sys; print(sys.executable)
    2. 确认该路径下的site-packages包含torch:!ls $(python -c "import site; print(site.getsitepackages()[0])") | grep torch
    3. 若不一致,重新安装IPython内核:python -m ipykernel install --user --name=myenv
    import sys
    print("Python executable:", sys.executable)
    print("Python version:", sys.version)
    

    5. 高级:区分CPU与GPU版本的PyTorch

    PyTorch的版本号通常会包含编译信息以指示是否支持CUDA。可通过以下方式判断:

    import torch
    print("PyTorch Version:", torch.__version__)
    print("CUDA Available:", torch.cuda.is_available())
    print("CUDA Version:", torch.version.cuda)
    print("cuDNN Version:", torch.backends.cudnn.version())
    

    输出示例如下:

    • 1.13.1+cu117 表示为CUDA 11.7编译的版本(GPU支持)
    • 2.0.1 无后缀通常为CPU版本

    此外,可通过torch.device进一步验证可用设备:

    device = "cuda" if torch.cuda.is_available() else "cpu"
    print(f"Using device: {device}")
    

    6. 架构级思考:构建可复现的PyTorch环境流程图

    为避免版本混乱和环境冲突,建议采用标准化部署流程:

    graph TD A[确定项目需求] --> B{需要GPU支持?} B -->|是| C[从PyTorch官网获取CUDA匹配的安装命令] B -->|否| D[安装CPU版本] C --> E[使用conda或pip在隔离环境中安装] D --> E E --> F[验证torch.__version__和torch.cuda.is_available()] F --> G[注册Jupyter内核(如需)] G --> H[完成环境配置]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月22日
  • 创建了问题 12月21日