热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PyTorch使用问题:解决导入torch后torch.cuda.is_available()返回False的方法

在配置PyTorch时,遇到`torch.cuda.is_available()`返回`False`的问题。本文总结了多种解决方案,并分享了个人在PyCharm、Python和Anaconda3环境下成功配置CUDA的经验,以帮助读者避免常见错误并顺利使用GPU加速。

我在网上找了超多方法,说一下我这次配的经验吧,也是以防自己忘了。
pycharm、python、Anaconda3、cuda等我之前配过,稀里糊涂配的,大家网上搜搜很多博客,所以这里就不提了,主要是我也不记得了。(●ˇ∀ˇ●)
第一次配环境,如果以下步骤有不对的地方,也请各位大佬指正

步入正题:

我是win10系统

  • ①检查电脑NVIDIA的cuda版本
    从NVIDIA控制面板确定电脑NVIDIA的cuda版本:NVIDIA控制面板→帮助→系统信息→组件→查看文件名为NVCUDA.dll 的产品名称NVIDIA CUDA ****** driver (******的部分就是电脑NVIDIA的cuda版本)
    我的是10.2.89,后面就以cuda10.2.89为例,自己对应自己的版本
  • ②检查自己电脑的nvidia驱动是否能带的起cuda 10.2
    进去cmd(命令提示符,win+R输入cmd就进去了) 输入nvidia-smi(如果不出来的去网上搜下怎么打开nvidia-smi)

`nvidia-smi`

如图划红线的地方所示(提醒NVIDIA-SMI与Driver Version是要一样的哟,这就是显卡驱动版本号)
在这里插入图片描述

显卡驱动版本号与CUDA版本号对应关系
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html在这里插入图片描述
从图可看到我的是446.14 ,而CUDA10.2.89的要求是≥441.22 。
所以我电脑的显卡驱动是允许装CUDA 10.2的。

  • ③检查环境中已安装cuda的版本
    依旧是在cmd(命令提示符)内输入nvcc -V (注意第二个V是大写)

nvcc -V

在这里插入图片描述
如图所示我的是10.2,所以配的是对的,如果你的和第①步看的CUDA版本不一样,那就要重装对应版本的CUDA驱动程序了(最好是对着第①步的CUDA版本配,当然你也可以试试更改第①步NVIDIA显卡驱动的CUDA版本,反正要想成功配pytorch 以上提到的关于CUDA的版本一定要“对齐”)
- 想找与显卡同版本的cuda驱动程序,官方下载链接是这个https://developer.nvidia.com/rdp/cudnn-download(需要登陆/注册才能下载,注册很简单。)
- 安装对应版本的CUDA驱动程序可以参考下这篇文章https://blog.csdn.net/u011473714/article/details/95042856

  • ④配与cuda版本对应的cudatoolkit和cudnn
    依旧是参考一下这篇文章https://blog.csdn.net/u011473714/article/details/95042856

可以通过命令conda list 查看自己配的包,如图所示
在这里插入图片描述
如果conda list没有找到cudatookit和cudnn,可以再弄一下conda install cudatookit=10.2就可以,然后conda install cudnn

  • ⑤配与cuda版本对应版本的pytorch
    pytorch官网:https://pytorch.org/get-started/locally/
    在这里插入图片描述
    根据自己需要配的情况选对应的选项,然后复制划红线的部分

但是

conda安装pytorch国外的镜像容易报错安装不上,得配国内的镜像,有很多文章教。但是我觉得镜像麻烦,明明可以直接pip配为什么这么多人推荐的方法都是改镜像,如图画篮圈的地方选了pip,然后复制划红线的内容安装pytorch即可。
在这里插入图片描述
然后conda list 查看
在这里插入图片描述
我的是这几个都与CUDA版本“对齐”就torch.cuda.is_available()返回true了。奈斯!


推荐阅读
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • SQLmap自动化注入工具命令详解(第28-29天 实战演练)
    SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。 ... [详细]
  • voc生成xml 代码
    目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ... [详细]
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • 构建用户可查询的员工信息管理系统(上篇)
    构建用户可查询的员工信息管理系统(上篇)旨在设计一个安全且易于使用的员工信息查询平台。该系统要求实现以下功能:1. 用户必须通过身份验证才能访问系统;2. 员工信息表应包含关键字段,如ID、姓名、部门和电话号码;3. 身份验证成功后,用户能够准确查询到所需信息。此外,系统还应具备数据加密和权限管理等高级功能,以确保信息安全和合规性。 ... [详细]
  • 利用Apache构建高效稳定的Web服务器环境
    本文详细介绍了如何利用Apache构建高效稳定的Web服务器环境。首先,概述了Apache服务器的基本概念及其安装步骤,并深入探讨了相关配置文件的设置方法。接着,通过具体的实验环境示例,展示了服务端(域名:zhangpp63.cn,IP地址:192.168.1.63)和客户端的配置过程,确保读者能够全面理解并实际应用这些技术。此外,还提供了一些优化建议,以提高服务器的性能和稳定性。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 在Python 2.7环境中使用PyCharm进行Cvxopt的安装及线性规划问题求解。具体步骤包括:通过PyCharm的文件菜单进入项目设置,选择解释器选项,点击右侧的“+”按钮,在可用包列表中搜索并安装Cvxopt。安装完成后,可以通过导入Cvxopt库并调用其函数来解决线性规划问题,提高模型的准确性和效率。 ... [详细]
  • 如何在Windows 10操作系统中将用户账户名称更改为英文
    最近,一位朋友在安装Anaconda虚拟环境并尝试安装Python包时遇到了频繁的错误。经过详细分析,发现问题是由于Anaconda安装路径包含了中文字符,导致某些软件无法正确识别路径。为了解决这一问题,建议将用户账户名称更改为英文,从而避免路径中出现非英文字符,确保软件的正常运行。此外,更改账户名称后,还需更新系统中的相关配置文件,以确保所有应用程序都能正确识别新的路径。 ... [详细]
author-avatar
书友59082326
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有