当前位置: 首页 > news >正文

「PYTHON」配置支持cuda计算的torch环境

本教程用于配置可支持cuda加速计算的torch环境

如果单纯使用命令行的pip安装torch,几乎都是cpu版本的,所以想要下载支持cuda的torch,我们只能通过手动下载安装包到本地,再使用pip从下载好的本地文件离线安装

而要想使用cuda加速神经网络计算,我们需要满足一些条件

  • 下载cuda
  • 下载对应版本的torch、torchaudio、torchvision

下载cuda

首先查看一下自己显卡的cuda版本

打开cmd,输入nvidia-smi,就可以查看自己显卡驱动的信息,中间就能看到 CUDA Version,这代表了显卡支持的最高cuda版本,是可以往下兼容的,比如我的电脑是12.2,小于等于12.2的cuda我都可以用

image-20241010222810995

CUDA下载链接:https://developer.nvidia.com/cuda-toolkit-archive

选择适合自己的版本就可以,版本可以稍微低于自己显卡驱动支持的版本

我选择的是11.8,点进去后根据需要选择具体配置

image-20241010223225894

下载完改一下安装路径后正常安装就行,这里不演示了

安装完后,再cmd中输入 nvcc -V,就可以查看自己是否安装成功

image-20241010223446032

下载支持cuda的torch

下载完cuda后,我们可以去torch官网下载whl文件,https://download.pytorch.org/whl/torch_stable.html

网站里面有一车的文件,我们要找到适合自己cuda的torch,其中只有带cuXXX的才支持调用GPU,cu是cuda的简写

介绍一下这个文件名的含义:

image-20241010230650845

  • torch-2.0.0 是torch2.0.0版本
  • cu118是cuda11.8版本
  • cp311是python3.11版本
  • win和linux就是系统

现在cuda的版本已经确定了,只需要确定自己的python是版本,已经想要下载什么版本的torch就可以确定文件了

当然,前面说过,光下载torch是不够的,还需要torchaudio和torchvision

下面是torch>=2.0.0的一些版本对应关系,如果想知道别的可以去搜

torchtorchaudiotorchvision
2.0.02.0.00.15.0
2.0.12.0.20.15.2
2.1.02.1.00.16.0
2.1.12.1.10.16.1
2.1.22.1.20.16.2

利用ctrl + F就可以搜索文件名,找到对应的内容,开头是cuXXX/torchXXX

比如我的cuda是11.8,python版本是3.9,想下载2.1.0的torch,系统是win

我只需要搜cu118/torch-,然后选择cp39 win的下载即可,其他两个文件也是采用同样的方法

image-20241010231919816

把三个文件都下载到本地,随便找个文件夹放起来,用一下命令去安装

在安装之前,确定一下自己当前命令行所在的环境是否是你想把torch安装到的环境,避免装错位置了

pip install ./torch-2.1.0+cu118-cp39-cp39-win_amd64
pip install ./torchaudio-2.1.0+cu118-cp39-cp39-win_amd64
pip install ./torchvision-0.16.0+cu118-cp39-cp39-win_amd64

下载完以后,进入python环境

import torch
print(torch.cuda.isavailable())

如果输出True,就代表成功了

 

http://www.lryc.cn/news/457543.html

相关文章:

  • Chromium 中chrome.history扩展接口c++实现
  • (Linux和数据库)1.Linux操作系统和常用命令
  • Linux——echo-tail-重定向符
  • GitHub Copilot 使用手册(一)--配置
  • 【论文阅读】Cross Attention Network for Few-shot Classification
  • CV图像处理小工具——json文件转P格式mask
  • Typora 快捷键操作大全
  • <Project-8.1.1 pdf2tx-mm> Python 调用 ChatGPT API 翻译PDF内容 历程心得
  • JDK1.1主要特性
  • 软件测试工作中-商城类项目所遇bug点
  • Java多线程面试题
  • 安徽大学《2022年+2023年831自动控制原理真题》 (完整版)
  • Vulnhub靶场案例渗透[6]- DC6
  • FreeSWITCH 分机网关路由
  • 数据交换的金钟罩:合理利用安全数据交换系统,确保信息安全
  • 区块链积分系统:重塑支付安全与商业创新的未来
  • Django学习笔记十三:优秀案例学习
  • SSH 公钥认证:从gitlab clone项目repo到本地
  • linux 搭建sentinel
  • 微服务发展历程
  • 提示词优化、GPTs逆向工程、大语言模型原理、大语言模型优化、开源模型本地私有化部署、从零构建大语言模型、智能体构建以及大语言模型的发展趋势
  • nn.Conv2d(二)
  • 获取鸿蒙设备Udid遇到的问题
  • 【华为HCIP实战课程十】OSPF网络DR和BDR实战讲解,网络工程师
  • 视频怎么去除杂音保留人声?让人声更动听!视频噪音处理攻略
  • 洗衣店数字化转型:Spring Boot订单管理
  • Koa学习
  • linux线程 | 线程的概念
  • 2024年软件设计师中级(软考中级)详细笔记【3】数据结构(下)(分值5分)
  • WPF|依赖属性SetCurrentValue方法不会使绑定失效, SetValue方法会使绑定失效?是真的吗?