幾種查看PyTorch、cuda 和 Python 版本方法小結
在檢查 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 環(huán)境非常有用。
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
模塊可以提供更詳細的系統(tǒng)信息。
import torch import platform print("PyTorch Version: {}".format(torch.__version__)) print("Python Version: {}".format(platform.python_version())) print("Platform: {}".format(platform.platform()))
特點:
platform.platform()
提供了操作系統(tǒng)的詳細信息。- 適用于需要記錄系統(tǒng)環(huán)境的場景。
方法 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
工具,可以收集詳細的系統(tǒng)環(huán)境信息,包括 PyTorch、Python、CUDA、cuDNN 等。
import torch env_info = torch.utils.collect_env() print(env_info)
特點:
- 提供全面的環(huán)境信息,適合用于調試和問題報告。
- 輸出格式為字典,可以進一步處理。
總結
方法 | 優(yōu)點 | 缺點 |
---|---|---|
直接訪問屬性 | 簡單直接,無需額外依賴 | 功能有限,僅能獲取基本版本信息 |
PyTorch | ||
通過命令行工具 | 適用于腳本外部檢查,無需編寫 Python 代碼 | 需要手動執(zhí)行命令 |
使用 torch.version | 提供更詳細的版本信息(CUDA、cuDNN) | 僅適用于 |
使用 pkg_resources | 可以查詢任何已安裝包的版本 | 需要額外依賴 setuptools |
使用 platform 模塊 | 提供詳細的系統(tǒng)信息 | 功能與 sys 模塊部分重疊 |
結合 subprocess | 靈活調用外部命令行工具 | 實現復雜,性能可能較低 |
使用 torch.utils.collect_env | 提供全面的環(huán)境信息,適合調試 | 輸出格式復雜,需要進一步處理 |
到此這篇關于幾種查看PyTorch、cuda 和 Python 版本方法小結的文章就介紹到這了,更多相關PyTorch、cuda 和 Python 查看版本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Sublime?Text?配置?Python?環(huán)境的問題及解決方案
這篇文章主要介紹了Sublime?Text?配置?Python?環(huán)境的問題,文中介紹了python自定義的構建系統(tǒng)的完整代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01淺析Python 簡單工廠模式和工廠方法模式的優(yōu)缺點
這篇文章主要介紹了Python 工廠模式的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07