【FAQ】P3. 为什么 torch.cuda.is_available() 是 False
为什么 torch.cuda.is_available() 是 False
torch.cuda.is_available(),这个指令的作用是看,你电脑的 GPU 能否被 PyTorch 调用。
如果返回的结果是 False,可以按照以下过程进行排查。
1、确认你的 GPU,是否支持 CUDA(是否支持被 PyTorch 调用)
首先,确定你的显卡型号,是否是 NVIDIA 显卡。可以从 任务管理器 或者 设备管理器来查看显卡的型号。

之后,去 官网 看,如果其中有你的显卡型号,则说明你的显卡是支持被 PyTorch 调用的。
(绝大多数的 NVIDIA 显卡都是支持的)
如果没有 NVIDIA 显卡的话,也没有关系。CPU 就已经足够了,而且你会在后面的教程看到,对于小型网络,CPU 速度更快(窃喜)
2、打开命令行,输入 nvidia-smi,查看自己的 Driver Version

我们教程中安装的 PyTorch 1.3 + CUDA 9.2 版本,要求电脑的显卡驱动大于396.26。
像我截图中的驱动版本为430.86,大于396.26。
如果你的驱动版本小于396.26,请用各种驱动管理软件或者软件管家,去升级你的显卡驱动。当然,更推荐去官网,下载对应的最新驱动。
3、下载最新驱动。在 官方网站 选择相应的显卡型号,操作系统,其他默认。其中的 Notebooks 是指笔记本。

之后,点击搜索,下载最新驱动后,进行安装即可。
4、检查驱动版本。安装完最新的驱动后,可以再次在命令行窗口输入 nvidia-smi,查看最新的版本是否安装成功。
5、打开 Anaconda Prompt,输入 conda activate pytorch,再输入 python,进入 python 环境。
在 python 环境中,输入 import torch, 之后输入 torch.cuda.is_available,查看返回的结果是否是 True。
使用 Conda 下载 PyTorch 速度太慢了,怎么办?
1、(玄学办法) 早上下载安装,感觉早上的时候,下载的速度明显变快。
2、从本教程最顶端的百度云处,下载这两个文件。(这两个文件是适用于 pytorch1.3 + cuda9.2 + windows)

将这两个下载好的文件,放在 Anaconda 安装出的 pkgs 文件夹下。

之后打开 Anaconda Prompt,输入 conda activate pytorch。
之后,输入以下指令:conda install --use-local pytorch-1.3.0-py3.6_cuda92_cudnn7_0.tar.bz2 和 conda install --use-local cudatoolkit-9.2-0.tar.bz2,即可使用下载的包进行安装。
我的大本营
寻找有趣或更有效率的事、工具和教程

【FAQ】P3. 为什么 torch.cuda.is_available() 是 False的更多相关文章
- pytorch,cuda8,torch.cuda.is_available return flase (ubuntu14)
因为ubuntu 系统是14.0的,安装pytorch1.0的时候,本身已经安装好了cuda8,在验证gpu的时候,torch.cuda.is_available()返回false 安装命令是: co ...
- torch.cuda.FloatTensor
Pytorch中的tensor又包括CPU上的数据类型和GPU上的数据类型,一般GPU上的Tensor是CPU上的Tensor加cuda()函数得到. 一般系统默认是torch.FloatTensor ...
- one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [3, 1280, 28, 28]], which is output 0 of LeakyReluBackward1, is at version 2;
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o ...
- pytorch torch.Stroage();torch.cuda()
转自:https://ptorch.com/news/52.html torch.Storage是单个数据类型的连续的一维数组,每个torch.Tensor都具有相同数据类型的相应存储.他是torch ...
- [报错]-RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.cuda.FloatTensor) should be the same
RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.cuda.FloatTensor) should be ...
- 常见错误 RuntimeError: expected type torch.FloatTensor but got torch.cuda.FloatTensor
https://www.jianshu.com/p/0be7a375bdbe https://blog.csdn.net/qq_38410428/article/details/82973895 计算 ...
- pytorch------cpu与gpu load时相互转化 torch.load(map_location=)
将gpu改为cpu时,遇到一个报错: RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is ...
- 伤透了心的pytorch的cuda容器版
公司GPU的机器版本本比较低,找了好多不同的镜像都不行, 自己从anaconda开始制作也没有搞定(因为公司机器不可以直接上网), 哎,官网只有使用最新的NVIDIA驱动,安装起来才顺利. 最后,找到 ...
- 计算机视觉2-> 深度学习 | anaconda+cuda+pytorch环境配置
00 想说的 深度学习的环境我配置了两个阶段,暑假的时候在一个主攻视觉的实验室干活,闲暇时候就顺手想给自己的Ubuntu1804配置一个深度学习的环境.这会儿配到了anaconda+pytorch+c ...
随机推荐
- Linux系统下lz4解压缩命令小结
lz4是一个让"人见人爱.花见花开"的压缩算法,能够在多核上很好的扩展.lz4在压缩率上略微逊色, 但是在解压速度上有着惊人的优势 (大概是gzip的3倍(多次测试对比)).因为压 ...
- Python模块之-OS模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- ecshop 的一些常用操作
ecshop商品详细页显示已售商品数量和评论数量 ecshop增加已售数量和评论数量很简单,步骤如下,原创文章转载请指明同盟者网络<http://blog.sina.com.cn/tomener ...
- [BZOJ2870]最长道路tree:点分治
算法一:点分治+线段树 分析 说是线段树,但是其实要写树状数组卡常. 代码 #include <bits/stdc++.h> #define rin(i,a,b) for(register ...
- Oracle JET Model 数据获取与使用
Oracle JET 应用程序数据可以来自生成 JSON 数据的任何 Web 数据源,例如 REST 服务,服务器发送事件(SSE)或 WebSocket .此外,Oracle JET 还提供了基于 ...
- iOS堆栈内存区别
堆和栈的区别: · 1> 堆空间的内存是动态分配的,一般存放对象,并且需要手动释放内存. · 2> 栈空间的内存由系统自动分配,一般存放局部变量等,不需要手动管理内存. 接下来我将从以下几 ...
- 4、Shiro之IniRealm以及用户登录认证,角色认证,权限认证
1.我们在项目test文件夹下面新建resourse文件夹并将她设置为资源文件夹: 2.在resourse文件夹下面新建user.ini文件 user.ini文件里面声明一个用户: 先写一个用户标签[ ...
- FreeBSD上安装Cassandra 3.10
哈哈,你居然点进来了,来吧,一起吐槽FreeBSD啊,装了一上午Cassandra 3.10都没有装成功, 终于,鄙人一条 shutdown -p now 结束了FreeBSD,默默打开了CentOS ...
- EDM概念之A/B分类测试法
相信很多情况下大家都会看到A/B分类测试法这个专业术语,下面博主简要介绍下什么是A/B分类测试法. 这里的A和B主要是指两种不同版本的电子邮件.一般来说,可以将用户分为同等数量的两组,一组发送A版本, ...
- 异步分发任务celery
Celery简介 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单. celery适用异步处理问题,当遇到发送邮件.或者文件上传, 图像处理等等一些比较耗时的 ...