幾種查看PyTorch、cuda 和 Python 版本方法小結(jié)
在檢查 PyTorch、cuda 和 Python 版本時,除了直接使用 torch.__version__ 和 sys.version,我們還可以通過其他方式實(shí)現(xiàn)相同的功能
方法 1:直接訪問屬性(原始代碼)
import torch
import sys
print("PyTorch Version: {}".format(torch.__version__))
print("Python Version: {}".format(sys.version))
特點(diǎn):
- 簡單直接,無需額外依賴。
- 適用于快速檢查版本信息。
方法 2:通過命令行工具
如果希望在腳本外部檢查版本,可以直接使用命令行工具。
Python 版本
python --version # 或 python -V
PyTorch 版本
python -c "import torch; print(torch.__version__)"
特點(diǎn):
- 適用于腳本外部檢查,無需編寫 Python 代碼。
- 可以集成到 CI/CD 流程中。
方法 3:使用 torch.version 模塊
PyTorch 提供了一個 torch.version 模塊,可以獲取更詳細(xì)的版本信息。
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))
特點(diǎn):
- 可以獲取 CUDA 和 cuDNN 的版本信息,對于調(diào)試 GPU 環(huán)境非常有用。
torch.version提供了更細(xì)粒度的版本控制。
方法 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))
特點(diǎn):
- 可以查詢?nèi)魏我寻惭b包的版本,而不僅僅是 PyTorch。
- 如果包未安裝,會捕獲
DistributionNotFound異常。
方法 5:使用 platform 模塊(補(bǔ)充 Python 信息)
雖然 sys.version 已經(jīng)提供了 Python 版本信息,但 platform 模塊可以提供更詳細(xì)的系統(tǒng)信息。
import torch
import platform
print("PyTorch Version: {}".format(torch.__version__))
print("Python Version: {}".format(platform.python_version()))
print("Platform: {}".format(platform.platform()))
特點(diǎn):
platform.platform()提供了操作系統(tǒng)的詳細(xì)信息。- 適用于需要記錄系統(tǒng)環(huán)境的場景。
方法 6:結(jié)合 subprocess 調(diào)用命令行
如果需要在 Python 腳本中調(diào)用外部命令行工具,可以使用 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()))
特點(diǎn):
- 適用于需要從外部命令行獲取信息的場景。
- 可以靈活地調(diào)用其他命令行工具。
方法 7:使用 torch.utils.collect_env
PyTorch 提供了一個 torch.utils.collect_env 工具,可以收集詳細(xì)的系統(tǒng)環(huán)境信息,包括 PyTorch、Python、CUDA、cuDNN 等。
import torch env_info = torch.utils.collect_env() print(env_info)
特點(diǎn):
- 提供全面的環(huán)境信息,適合用于調(diào)試和問題報告。
- 輸出格式為字典,可以進(jìn)一步處理。
總結(jié)
| 方法 | 優(yōu)點(diǎn) | 缺點(diǎn) |
|---|---|---|
| 直接訪問屬性 | 簡單直接,無需額外依賴 | 功能有限,僅能獲取基本版本信息 |
| PyTorch | ||
| 通過命令行工具 | 適用于腳本外部檢查,無需編寫 Python 代碼 | 需要手動執(zhí)行命令 |
使用 torch.version | 提供更詳細(xì)的版本信息(CUDA、cuDNN) | 僅適用于 |
使用 pkg_resources | 可以查詢?nèi)魏我寻惭b包的版本 | 需要額外依賴 setuptools |
使用 platform 模塊 | 提供詳細(xì)的系統(tǒng)信息 | 功能與 sys 模塊部分重疊 |
結(jié)合 subprocess | 靈活調(diào)用外部命令行工具 | 實(shí)現(xiàn)復(fù)雜,性能可能較低 |
使用 torch.utils.collect_env | 提供全面的環(huán)境信息,適合調(diào)試 | 輸出格式復(fù)雜,需要進(jìn)一步處理 |
到此這篇關(guān)于幾種查看PyTorch、cuda 和 Python 版本方法小結(jié)的文章就介紹到這了,更多相關(guān)PyTorch、cuda 和 Python 查看版本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python爬蟲獲取小區(qū)經(jīng)緯度以及結(jié)構(gòu)化地址
這篇文章主要為大家詳細(xì)介紹了python爬蟲獲取小區(qū)經(jīng)緯度,以及結(jié)構(gòu)化的地址,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
基于Python實(shí)現(xiàn)人臉識別和焦點(diǎn)人物檢測功能
基于dlib庫的模型,實(shí)現(xiàn)人臉識別和焦點(diǎn)人物的檢測。最后呈現(xiàn)的效果為焦點(diǎn)人物的識別框顏色與其他人物框不一樣。對Python人臉識別和焦點(diǎn)人物檢測設(shè)計過程感興趣的朋友一起看看吧2021-10-10
Python實(shí)戰(zhàn)整活之聊天機(jī)器人
這篇文章主要介紹了Python實(shí)戰(zhàn)整活之聊天機(jī)器人,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
使用Python構(gòu)建MCP服務(wù)器的詳細(xì)配置步驟
模型控制協(xié)議(MCP)是一種專為實(shí)現(xiàn)AI代理與工具解耦而設(shè)計的通信協(xié)議,為AI驅(qū)動應(yīng)用程序的開發(fā)提供了高度的靈活性和模塊化架構(gòu),本文將詳細(xì)介紹MCP服務(wù)器的構(gòu)建過程,包括工具函數(shù)的注冊、配置以及與Claude Desktop等AI代理的集成,需要的朋友可以參考下2025-06-06
使用python+pandas讀寫xlsx格式中的數(shù)據(jù)
這篇文章主要介紹了使用python+pandas讀寫xlsx格式中的數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-08-08
Python如何實(shí)現(xiàn)自動生成指定文件名并自定義后綴名
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)名稱為000- 999-文件的自動生成,并且后綴名可以自定義,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
Python sklearn KFold 生成交叉驗(yàn)證數(shù)據(jù)集的方法
今天小編就為大家分享一篇Python sklearn KFold 生成交叉驗(yàn)證數(shù)據(jù)集的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

