如何使用自己电脑上自带的GPU来运行pycharm中的程序

  • 准备工作:在代码中指定gpu来运行
  • 第一步:cuda的安装
  • 第二步:mxnet的安装
  • 第三步:可能的numpy问题
  • 附1:如何回到CPU模式
  • 附2:如何判断自己是否在用GPU

准备工作:在代码中指定gpu来运行

如果需要用gpu运行代码,必须先在代码中指定gpu,即将相应的值存储在显存上,这是第一步
1.默认情况下,数据都是存放在内存上,如

x = nd.array([1, 2, 3])
print(x)

会输出

说明此时是在cpu上运行,如果为了查看某矩阵所在的设备,可以使用其context属性

print(x.context)

会输出cpu(0),表示在第0块cpu上

2.将值存储在GPU上
方法一:直接将变量创建在gpu(0)上

a = nd.array([1, 2, 3], ctx = mx.gpu(0)) # 放在第0块gpu上,如果括号内不填数字,也是默认0

方法二:通过copyto函数或as_in_context函数在设备之间传输数据,如将前文中内存上的x变量复制到gpu(0)上
使用copyto函数复制到显存中的变量y

y = x.copyto(mx.gpu())

使用as_in_context函数复制到显存中的变量z

z = x.as_in_context(mx.gpu())

之后的计算会在context指定的设备上进行
3.Gluon模型的GPU计算
初始化神经网络时,也需要将模型参数初始化在显存上

net = nn.Sequential()
net.add(nn.Dense(1))
net.initialize(ctx = mx.gpu(0))

第一步:cuda的安装

首先进入NCIVA控制面板,点击左下方系统信息,再点击组件,发现在3D设置里面有CUDA11.1,但是这个CUDA貌似在Pycharm中无法同时,同时按:Win+R,输入cmd后,在命令行中输入:

nvcc --version   #用于查看cuda版本

提示:不是内部命令或外部命令,也不是可运行程序,于是推测并没有真正安装CUDA,所以下一步就是去安装CUDA
进入网站:https://developer.nvidia.com/cuda-toolkit-archive
找到对应的CUDA版本下载。我用的是mxnet,所以下载10版本即可,11版本目前没有对应的gpu版本的mxnet,这点需要注意,下载后默认安装即可。
然后再次查看CUDA 版本(方法同上),发现已经安装成功

第二步:mxnet的安装

备注:如果需要pip install xxx的话,不要在电脑命令行中进行(即cmd那种),直接在pycharm的terminal中输入命令操作,否则会出各种问题!!!!
注意:下面操作均在pycharm的terminal中进行!!!!
大家可能最开始时,都是在pycharm中通过:

pip install mxnet

但这是安装了cpu版本的mxnet,可以正常运行在cpu下运行代码,但是不可以在gpu下运行代码,为此我们需要安装gpu版本的mxnet。
首先,卸载cpu版本的mxnet

pip uninstall mxnet

然后安装gpu版本的mxnet,必须注意的是,这里安装的mxnet版本和我们第一步安装的CUDA版本必须兼容,否则会出问题。这里以我安装的CUDA 10.1版本为例,安装对应mxnet

pip install --pre mxnet-cu101

①代码中的101指的就是版本,如果你安装的CUDA是9.2,那么这里就是cu92
②mxnet前面必须加–pre,否则安装完成照样运行不了(原因未知)

第三步:可能的numpy问题

成功完成上述操作后,运行代码时发现提示AttributeError: module ‘numpy’ has no attribute ‘int32’’,这时我们需要先卸载原来的numpy

pip uninstall numpy

(推测)然后安装这个版本下的numpy

pip install -U numpy

至此大功告成,应该已经可以使用gpu运行代码了

附1:如何回到CPU模式

先卸载已安装的GPU模式的mxnet-cu101
(如果不影响安装cpu的mxnet的话,貌似也可以不卸载)

pip uninstall mxnet-cu101

再安装cpu版本的mxnet

pip install mxnet

会发现连cpu版本对应的numpy也安装好了,这是就可以重新用CPU进行运行啦~

附2:如何判断自己是否在用GPU

按照上述操作使用GPU跑代码时,直观上确实发现速度比最开始的CPU快很多,但为了确定一下确实是用GPU,故运行时打开任务管理器:

发现GPU利用率始终是0。但是在代码运行过程中和停止运行后,用cmd命令:nvidia-smi 查看GPU情况,发现并不一样
左为停止状态下,右为运行状态下
从左到右红框的五项指标依次表示:
①显卡温度
②性能状态,从P0到P12,P0表示最大性能,P12表示最小性能
③当前功率
④系统占用显存数量和显存总大小
⑤显存核心利用率
可以得知,确实是在用GPU运行,那么就是任务管理器出问题了

查阅了一些资料发现,解决方法有两个:
1.GPU检测的驱动出了一些问题,到网上下载个驱动修复之类的就行
2.专门下载一个GPU监测的小程序也可

gpu运行pycharm相关推荐

  1. GPU运行Tensorflow详细教程及错误解决

    GPU运行Tensorflow详细教程及错误解决 前提条件 配置GPU运行 确认是否成功配置 出现的错误及解决方案 前提条件 最重要的一点:CUDA与tensorflow的版本一点要对应,不然用不了! ...

  2. win运行pycharm找不到要加载的model.pkl文件是workingspace设置路径与文件路径位置不对应

    windows环境中运行pycharm提示找不到要加载的model.pkl路径,原来是pycharm中有一个workingspace设置的路径没有跟当前代码的路径位置对应所致. pycharm中左边文 ...

  3. 成功解决:Win系统下的Tensorflow使用CPU而不使用GPU运行加速

    成功解决:Win系统下的Tensorflow使用CPU而不使用GPU运行加速 目录 解决问题 解决思路 解决方法 解决问题 Win系统下的Tensorflow使用CPU而不使用GPU运行加速 解决思路 ...

  4. 多GPU运行Deep Learning 和 并行Deep Learning(待续)

    本文论述了 Deep learning运行所需的硬件配置,多GPU运行Deep Learning,设置Deep Learning的数据并行和 模型并行.详情请参考下文 http://timdettme ...

  5. 使用Google colab的GPU运行resnet

    使用Google colab的GPU运行resnet 由于我的电脑显卡是AMD,跑代码每一个epoch都要超级超级久,偶然间听到了Google colab,于是用起来了,感觉非常爽 Colaborat ...

  6. Macbook Pro 外接显卡实现Tensorflow GPU运行之内屏输出

    Macbook Pro 外接显卡实现Tensorflow GPU运行–内屏输出 MacOS 重装 外接显卡(内屏输出)

  7. Android 读取CPU/GPU运行参数(MTK平台)

    一.使用场景 Android运行一段世时间后,系统出现卡顿 二.分析&定位问题 系统卡顿,同时又发现芯片温度很高,怀疑是温度过高导致CPU降频,因此我们要将一段时间内CPU的运行信息打印出来. ...

  8. Macbook Pro 外接显卡实现Tensorflow GPU运行之环境配置(重点)

    Macbook Pro 外接显卡实现Tensorflow GPU运行–环境配置 MacOS 重装 外接显卡(内屏输出) 环境配置(重点)

  9. Macbook Pro 外接显卡实现Tensorflow GPU运行之MacOS系统重装

    Macbook Pro 外接显卡实现Tensorflow GPU运行-MacOS重装 MacOS 重装

最新文章

  1. Python PIL反色混合
  2. Mybatis中的核心配置文件SqlMapConfig.xml详细介绍
  3. python3字符串处理,高效切片
  4. opencv12-图像金字塔
  5. 第一章 软件工程概论
  6. 参考的datalist分页helper
  7. ol+天地图+geoserver_GeoServer的WMS服务加载到天地图
  8. 移动支付到底有多美?
  9. ND2D源码及范例工程(编译通过)
  10. java 整数加减乘除_java实现超大整数加减乘除四则运算
  11. 适配器模式之享元模式
  12. FRR BGP协议分析4 -- 路由更新(1)
  13. springBoot整合redis使用介绍(详细案例)
  14. 百度认证(深度学习初级工程师)考试题1
  15. VMware破解密码
  16. 自定义ViewGroup——自定义布局
  17. Mybatis Plus分页Page total始终为0
  18. 《设计模式:可复用面向对象软件的基础》——引言(笔记)
  19. Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)
  20. Windows7系统优化,优化达到30多项,速度大幅提升,

热门文章

  1. SQL语句(三) 更新语句(增 删 改)
  2. Flutter 时间戳转换成时间 时间字符串转换成时间戳
  3. linux系统删除lammps任务,Linux 的常用命令
  4. 了matlab进行LR检验的代码,求助,matlab空间回归的LR检验显示错误该怎么办?
  5. 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)
  6. 定位综合案例-淘宝轮播图
  7. Java内存模型的抽象结构
  8. MATLAB之最优路径的查找
  9. iphone文件连接smb服务器,实用!三种iPhone与Windows电脑互传文件操作技巧,建议收藏...
  10. DC-DC电源模块的九个主要性能指标和作用