使用Win10系统在R中加载TensorFlow-gup加快深度学习运行之攻略

2 篇文章 0 订阅
1 篇文章 0 订阅

弗朗索瓦.肖莱著《深度学习R语言版》说,用CUP进行深度学习运算可能需要数小时,但用GPU可能只要几分钟。不过,该书只叙述了在Ubuntu下安装GUP的方法,不推荐Windows下使用TensorFlowGUP。的确,在Win10下给R安装GPU是非常非常之麻烦。以下,给出安装GUP的攻略:

1在Python中安装TensorFlow-GPU的环境

这是最麻烦的一大步:其中关键有

1)在win10设置->设备管理器->显示适配器->查显卡是否支持GUP?如果支持记下显卡的型号

 在win10设置之装备管理器之显示适配器查到显卡的型号及其支持的CDUA版本

也可以从Anaconda Prompt或cmd输入nividia -smi查看:

由上,显卡驱动CUDA是一个dll文件。由于调用GPU的一切都与CUDA的版本绑定,不建议随便升级显卡驱动

2)在Tensorflow官网查该显卡支持CUDA版本所对应的Python版本、cuDNN版本和TensorFlow版本号;

  在TensorFlow官网安装->源码构建->windows查与CUDA版本对应的TensorFlow版本和cuDNN版本

建议用pip装tensorflow-gpu不建议从Windows源代码构建,因为要装、msys2和bazel,装bazel又要装choco ,还有一大堆其他操作,巨麻烦!也不建议用conda install 语句装tensorflow-gup,虽不用下载CUDA和cuDNN,但CUDA和cuDNN被绑定在conda环境里,必须彻底删除conda才能清除。如果想改,很麻烦。

3)在官网下载正确型号的CUDA(CUDA Toolkit Archive | NVIDIA Developer约2.62 GB)和cuDNN(cuDNN Archive | NVIDIA Developer约464 MB ),并安装。

4)其中,下载cuDNN后解压,将其bin、include、lib三个文件夹文件夹中的全部文件复制,一对一地考入打开CUDA同名文件夹中。

5)在win10的系统环境变量的path中添加下面两个路径:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64

 6)显卡配套TensorFlow-gup-2.4.0兼容的python为3.6.x到3.8.x。所以,必要时将原有tensorflow CPU和python的一切清除干净。如果预先装了PyCharm,建议卸载。如果预装了别的版本的Python并设置了环境变量,建议卸载。如果预装的Anacond其Python版本过高或过低,必要时彻底卸载。如预装Anacond及其Python有虚拟环境或有CPU版tensorflow,建议先卸载tensorflow,再删除虚拟环境:

conda info -e
conda env remove -n 要卸载的环境名

注意:tensorflow要一层层用pip list和conda list查,再一层层删。

7)可参阅“Anaconda与python对应版本的对照https://blog.csdn.net/donovan/article/details/ 126470200,下载和重装Python版本对应的Anaconda。重装时,勾选anaconda不推荐的设置自己的环境变量。

8)如因软件兼容使Spyder出现“闪退”,且更新后也不能解决,可将anaconda删除干净再重装:

conda install -c anaconda anaconda-clean

anaconda-clean --yes

在安装路径anaconda3中找到卸载程序的图标,然后右键管理员模式打开直接卸载即可,最后手工删去剩余的文件夹和卸载形成的backup file文件夹。

重装anaconda又执行更新:

conda update conda 

conda update -n base conda

conda update --all       

conda update anaconda

更新Spyder至Python 3.8.16,才解决闪退问题。之后,再装TensorFlow-gpu。

 9)下载并安装显卡支持的tensorflow-gpu-2.4.0或更新版本的TensorFlow:

pip install tensorflow-gpu==2.4.0 -i https://mirrors.aliyun.com/pypi/simple/

注意:如清华镜像可能没有tensorflow-gpu-2.4.0,其他地方网况差时也不行。但阿里和豆瓣多上几次也许可以。

如果安装TensorFlow时,numpy出错。装numpy又出现新错:

 [WinError 5] 拒绝访问。:'C:\\Users\\Administrator\\anaconda3\\Lib\\site-packages。

可能有两个问题:其一有Python程序如Spyder未关闭;其二,使用Anaconda prompt或cmd时未以管理员身份运行。因此,出问题后首先关闭Python程序;其次在Anaconda prompt菜单打右键单击“命令提示符”,选择“以管理员身份运行”来确保你以管理员权限运行 ,然后再运行Anaconda prompt,再运行:

pip install numpy

在Anacond Prompt输入Python再执行

import tensorflow as tf

 print(tf.__version__)  

print('GPU', tf.test.is_gpu_available()) 或tf.test.is_gpu_available()

如果最下面出现True或类似说明,表示TensorFlow-GPU及其环境安装正确。

如果出现FALSE,常常是传输中出错,或没有及时回答杀毒软件的提问,下载大dll文件时出错。如此,在网上如csdn博客下载相关dll即可。

9)按显卡NMVIDIA提示装Visual Studio 2019,但建议不要加载VS下编写Python的各模块。如果加了,可能导致Spyder出现“闪退”。如卸载这些模块、VS2019并重装anaconda都不形,只好删除conda,重装anaconda再全部升级pip、conda和anaconda。

10)开启win10设置-图形设置之下的GPU加速

为了防止运行卡机。在cmd输入“dxdiag”并点击【确定】按钮,调出DirectX诊断工具,打开呈现窗口:

 总内存:显卡上实际存在的内存,用来存储数据和代码。显示内存:是指由显卡分配的独立可视内存,用来显示视频和图形信息。共享内存:是指CPU和显卡共同使用的内存空间,用来传递和交换数据。

GPU的显存指显示内存(也称为图形内存),它是GPU中存储图像和处理图像所必需的随机访问存储器。它可以被认为是GPU与外部显示器连接所必需的图像数据缓冲区,用于在显示器上显示正确图像。

深度学习使用GUP要求其显存最低4G;一般8G;最好16G。本机仅2G,遇卡机就需要调低设置或关闭GUP。如必须作大题,只好上网买虚拟GPU服务。

2安装R,给安装的R设置环境变量,见下图(win10设置->查环境变量):

 3在RStudio安装相应软件包

install.packages("keras")

library(keras)

install.packages("tensorflow")

library(tensorflow)

RStudio的测试R通过Python调用tensorflow-gpu是否可行:
library(tensorflow)
library(reticulate)#R中调用python的包
library(keras)

use_condaenv('tensorflow-gpu') #在R是否可用由conda创建的tensorflow-GPU环境?
py_module_available("tensorflow") #R中是否可用python的tensorflow包?
tf<-import("tensorflow") #导入tensorflow模块
py_run_string("import tensorflow as tf") #运行python的语句
py_run_string("print(tf.__version__)") #读取tensorflow的版本号
py_run_string("tf.config.list_physical_devices('GPU')")
py_run_string("print('GPU:', tf.test.is_gpu_available())")#测试是否可用python的tensorflow包联GPU
tf_gpu_configured() #在R配置python中的tensorflow
 

4设置显卡

在win10的开始-找NVIDIA控制面板然后进行如下设置

 在桌面下选在通知区显示GUP活动图标;在管理3D设置-全局设置-首选图形处理器下选高性能NVIDIA处理器;在管理3D设置-程序设置-添加下,找到RStudio和TensorFlow-gup下的Python,添加进去。

如遇卡机,需要调低设置或删去关联的程序。

5在RStudio设置TensorFlow-GPU环境

 在RStudio下工具-全局选项-Python设置TensorFlow-GPU之下的Python

 6)为TensorFlow-GPU之下的Python加载必要的包

由于环境变化,原来Python下的包可能不好使。例如,R中会出现下述错误提示:

 

注意:可以在Anaconda主程序-环境-TensorFlow-GPU之下,找到未安装的包,再装上去;也可以从anaconda prompt 进入TensorFlow-GPT环境,再装所缺的包。

但是,如果常规方法可以安装某包不建议用anaconda装包。因为anaconda不报检查包的兼容性的结果,易于出错。

如果pip和conda没有更新,难以消除包之间的冲突,随后的运行可能出错。

 7)效果检验

运行R中的TensorFlow。如果win10-显示隐藏图标中有一个彩色而不是灰色的小方块(下图右下角灰色区域下排第二个),才算系统可开启了CPU,但不一定保证Python和R可使用GPU。

 运行《R语言深度学习》上的程序,用GPU运行时间缩短至用CUP的1/5到1/10。用CPU耗时越多,启动GUP效果越好。花了好多天,踩了无数坑,过了九九八十一难,总算修成了正果!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值