几种查看PyTorch、cuda 和 Python 版本方法小结

 更新时间:2025年04月25日 08:32:44   作者:王红臣同学  
本文主要介绍了几种查看PyTorch、cuda 和 Python 版本方法小结,除了直接使用 torch.__version__ 和 sys.version,我们还可以通过其他方式实现相同的功能,下面就一起来了解一下

在检查 PyTorch、cuda 和 Python 版本时,除了直接使用 torch.__version__ 和 sys.version,我们还可以通过其他方式实现相同的功能

方法 1:直接访问属性(原始代码)

import torch
import sys

print("PyTorch Version: {}".format(torch.__version__))
print("Python Version: {}".format(sys.version))

特点:

  • 简单直接,无需额外依赖。
  • 适用于快速检查版本信息。

方法 2:通过命令行工具

如果希望在脚本外部检查版本,可以直接使用命令行工具。

Python 版本

python --version
# 或
python -V

PyTorch 版本

python -c "import torch; print(torch.__version__)"

特点:

  • 适用于脚本外部检查,无需编写 Python 代码。
  • 可以集成到 CI/CD 流程中。

方法 3:使用 torch.version 模块

PyTorch 提供了一个 torch.version 模块,可以获取更详细的版本信息。

import torch
import sys

# 获取 PyTorch 版本信息
print("PyTorch Version: {}".format(torch.version.__version__))  # 或直接使用 torch.__version__
print("PyTorch CUDA Version: {}".format(torch.version.cuda))  # 获取 CUDA 版本
print("PyTorch cuDNN Version: {}".format(torch.backends.cudnn.version()))  # 获取 cuDNN 版本

# Python 版本
print("Python Version: {}".format(sys.version))

特点:

  • 可以获取 CUDA 和 cuDNN 的版本信息,对于调试 GPU 环境非常有用。
  • torch.version 提供了更细粒度的版本控制。

方法 4:使用 pkg_resources

pkg_resources 是 setuptools 提供的一个工具,可以查询已安装包的版本信息。

import pkg_resources

# 获取 PyTorch 版本
try:
    pytorch_version = pkg_resources.get_distribution("torch").version
    print("PyTorch Version: {}".format(pytorch_version))
except pkg_resources.DistributionNotFound:
    print("PyTorch is not installed.")

# Python 版本仍通过 sys 模块
import sys
print("Python Version: {}".format(sys.version))

特点:

  • 可以查询任何已安装包的版本,而不仅仅是 PyTorch。
  • 如果包未安装,会捕获 DistributionNotFound 异常。

方法 5:使用 platform 模块(补充 Python 信息)

虽然 sys.version 已经提供了 Python 版本信息,但 platform 模块可以提供更详细的系统信息。

import torch
import platform

print("PyTorch Version: {}".format(torch.__version__))
print("Python Version: {}".format(platform.python_version()))
print("Platform: {}".format(platform.platform()))

特点:

  • platform.platform() 提供了操作系统的详细信息。
  • 适用于需要记录系统环境的场景。

方法 6:结合 subprocess 调用命令行

如果需要在 Python 脚本中调用外部命令行工具,可以使用 subprocess 模块。

import subprocess

def get_python_version():
    result = subprocess.run(["python", "--version"], capture_output=True, text=True)
    return result.stdout.strip()

def get_pytorch_version():
    result = subprocess.run(["python", "-c", "import torch; print(torch.__version__)"], capture_output=True, text=True)
    return result.stdout.strip()

print("Python Version: {}".format(get_python_version()))
print("PyTorch Version: {}".format(get_pytorch_version()))

特点:

  • 适用于需要从外部命令行获取信息的场景。
  • 可以灵活地调用其他命令行工具。

方法 7:使用 torch.utils.collect_env

PyTorch 提供了一个 torch.utils.collect_env 工具,可以收集详细的系统环境信息,包括 PyTorch、Python、CUDA、cuDNN 等。

import torch

env_info = torch.utils.collect_env()
print(env_info)

特点:

  • 提供全面的环境信息,适合用于调试和问题报告。
  • 输出格式为字典,可以进一步处理。

总结

方法优点缺点
直接访问属性简单直接,无需额外依赖功能有限,仅能获取基本版本信息
PyTorch
通过命令行工具适用于脚本外部检查,无需编写 Python 代码需要手动执行命令
使用 torch.version提供更详细的版本信息(CUDA、cuDNN)仅适用于
使用 pkg_resources可以查询任何已安装包的版本需要额外依赖 setuptools
使用 platform 模块提供详细的系统信息功能与 sys 模块部分重叠
结合 subprocess灵活调用外部命令行工具实现复杂,性能可能较低
使用 torch.utils.collect_env提供全面的环境信息,适合调试输出格式复杂,需要进一步处理

到此这篇关于几种查看PyTorch、cuda 和 Python 版本方法小结的文章就介绍到这了,更多相关PyTorch、cuda 和 Python 查看版本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • python爬虫获取小区经纬度以及结构化地址

    python爬虫获取小区经纬度以及结构化地址

    这篇文章主要为大家详细介绍了python爬虫获取小区经纬度,以及结构化的地址,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • python通过加号运算符操作列表的方法

    python通过加号运算符操作列表的方法

    这篇文章主要介绍了python通过加号运算符操作列表的方法,实例分析了Python使用加号运算符实现列表追加的方法,需要的朋友可以参考下
    2015-07-07
  • 基于Python实现人脸识别和焦点人物检测功能

    基于Python实现人脸识别和焦点人物检测功能

    基于dlib库的模型,实现人脸识别和焦点人物的检测。最后呈现的效果为焦点人物的识别框颜色与其他人物框不一样。对Python人脸识别和焦点人物检测设计过程感兴趣的朋友一起看看吧
    2021-10-10
  • PYQT5实现控制台显示功能的方法

    PYQT5实现控制台显示功能的方法

    今天小编大家分享一篇PYQT5实现控制台显示功能的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python实战整活之聊天机器人

    Python实战整活之聊天机器人

    这篇文章主要介绍了Python实战整活之聊天机器人,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • 使用Python构建MCP服务器的详细配置步骤

    使用Python构建MCP服务器的详细配置步骤

    模型控制协议(MCP)是一种专为实现AI代理与工具解耦而设计的通信协议,为AI驱动应用程序的开发提供了高度的灵活性和模块化架构,本文将详细介绍MCP服务器的构建过程,包括工具函数的注册、配置以及与Claude Desktop等AI代理的集成,需要的朋友可以参考下
    2025-06-06
  • 使用python+pandas读写xlsx格式中的数据

    使用python+pandas读写xlsx格式中的数据

    这篇文章主要介绍了使用python+pandas读写xlsx格式中的数据,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • python 批量下载bilibili视频的gui程序

    python 批量下载bilibili视频的gui程序

    这篇文章主要介绍了python 批量下载bilibili视频的gui程序,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • Python如何实现自动生成指定文件名并自定义后缀名

    Python如何实现自动生成指定文件名并自定义后缀名

    这篇文章主要为大家详细介绍了Python如何实现名称为000- 999-文件的自动生成,并且后缀名可以自定义,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • Python sklearn KFold 生成交叉验证数据集的方法

    Python sklearn KFold 生成交叉验证数据集的方法

    今天小编就为大家分享一篇Python sklearn KFold 生成交叉验证数据集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论