AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Tensorflow-DirectML篇) - 小众知识

AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Tensorflow-DirectML篇)

2022-05-17 08:48:31 苏内容
  标签: AMD/Tensorflow
阅读:4467

还有个姊妹篇Pytorch版,请翻阅我的博文!


我这先晒一个结果:



首先这里推荐的系统比如Win10不要太老,尽量新一点,特别是针对WSL2


本人用的显卡是AMD Radeon RX6600(后面不带XT,很重要!因为还有XT版嘛,性能差20%左右)

CPU:i5 12600KF(目前的神卡,干翻上一代i9 K)

系统WIn10专业版,内部版本号:19042,版本不要太老,太老自己Windows更新那边升级一下到最新。


这里出现了两个分叉,一个是用我们本地Window环境,一个是用WSL2,如果你是准备用WSL2那么你最好是安装Window10/11专业版或家庭版,不要安装企业版或服务器版,因为后面两个没有Windows商店,对我们安装Ubuntu有难度。


场景1:在Window10/11 WSL2下搭建Tensorflow GPU深度学习环境

A:搭建WSL2:

这一步最好是看准自己的显卡,并不是越新的A卡就支持,比如我的6600就不支持,但是6600XT是支持的

目前我知道的比较主流的保证支持的显卡是:6600XT和6900XT,具体可以参考AMD官网:


https://www.amd.com/en/support/kb/release-notes/rn-rad-win-wsl-support


第零步:主板开启虚拟化支持

第一步:启用虚拟机平台和 Linux 子系统功能

第二步:安装一个 Linux 发行版

第三步:启用 WSL2*


第零步:自己百度自己主板型号,开启即可,我的主板是开启vt-d


第一步:启用虚拟机平台和Linux 子系统功能


你可以用图形界面,也可以用命令行:

图形化:

在控制面板添加开启新功能:



命令行:

以管理员权限启动 PowerShell,也可以用Windows Terminal(推荐,因为后面可以直接用这个启动Ubuntu,可以到Windows商店下载),然后输入以下命令启用虚拟机平台:


Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:


Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux


PS:我上面的Terminal是不小心复制进去的,不要在意,回车就完事,反正识别不了。


提前开启WSL版本号:


wsl --set-version Ubuntu 2


这个你也可以在安装Ubuntu后再开。



第二步:安装一个 Linux 发行版

打开微软商店应用,在搜索框中输入“Linux”然后搜索,你可以看到搜索结果中有很多的 Linux 发行版可以选择。选择一个你喜欢的 Linux 发行版本然后安装:


需要注意,在商店中的安装并没有实际上完成 Linux 子系统的安装,你还需要运行一次已安装的 Linux 发行版以执行真正的安装操作,具体操作是在开始菜单,找到Ubuntu,点一下


会出现这个说明安装成功,如果出现error,不要担心,你可以重启电脑再试试


第三步:启用 WSL2

你在前面提前开启WSL版本号,这步可以不做!如果没开那么可以这样:


使用 wsl -l 可以列出当前系统上已经安装的 Linux 子系统名称。注意这里的 -l 是列表“list”的缩写,是字母 l 不是其他字符。


wsl -l


如果提示 wsl 不是内部或外部命令,说明你没有启用“适用于 Windows 的 Linux 子系统”,请先完成本文第一步。


如果提示没有发现任何已安装的 Linux,说明你没有安装 Linux 发行版,或者只是去商店下载了,没有运行它执行真正的安装,请先完成本文第二步。


使用 wsl --set-version 2 命令可以设置一个 Linux 发行版的 WSL 版本。命令中 替换为你安装的 Linux 发型版本的名称,也就是前面通过 wsl -l 查询到的名称。


wsl --set-version Ubuntu 2


以上内容部分参考自:


https://walterlv.blog.csdn.net/article/details/101508601

谢谢作者!


然后后面大部分是我的私货:

成功安装Ubuntu后,我们可以用Windows Terminal打开Ubuntu控制台:




OK,以上就是安装WSL2所有步骤,也适合安装N卡版的,那个安装更简单,弄好直接可以使用原版的TF GPU或者Pytorch GPU而不需要安装DirectML版


Flag1:

然后是我们的重点,安装AMD显卡SDK软件Radeon Software Adrenalin 2020 Edition,相当于英伟达的Cuda,注意这个不是我们安装系统后用什么驱动精灵安装的那个显卡驱动,这个驱动是SDK,就是AMD版的Cuda!下载不要下载错了,不要下载那个带Mini的版本,完整版是400多M!

PS:WSL2 GPU支持版本一定要安装下面链接的版本(rn-rad-win-wsl-support)


下载官网:


https://www.amd.com/en/support/kb/release-notes/rn-rad-win-wsl-support



支持的显卡自己可以看看,我的6600xt这个版本用不了,那么用不了怎么办?

你可以右上角搜:



比如我这个是6600


下载安装即可,千万不要试图安装没有列出你显卡型号的驱动,我给你一个tan90°

如果出现这个界面,那么恭喜你:



如果出现:


也不要慌,去下一个3DM最新的环境包合集,一共1G多,除了里面的N卡物理插件不要安装,其他没有冲突都可以安装!

比如这个:


https://dl.3dmgame.com/patch/89066.html


然后重新安装我们的Radeon Software Adrenalin 2020 Edition


按好后我们就可以进入Ubuntu安装我们的TF了,这时,可以给他装个GUI,可以看我另外一篇博文

然后按个MiniConda:


我们的tf dml支持的Python版本:

Python x86-64 3.5, 3.6, or 3.7


推荐用Py3.7以及对应的conda

官网:


https://docs.conda.io/en/latest/miniconda.html


安装Tensorflow-DirectML:


pip install tensorflow-directml==1.15.5

安装VSCODE


安装Keras:


这里我们的tf是1.15.5

所以可以参考这里:


Tensorflow 和 Keras 版本对应关系

https://blog.csdn.net/douzi949389/article/details/108146536


这里推荐安装: Keras 2.3.1


pip install keras==2.3.1

检测是否支持AMD GPU:


import tensorflow as tf

tf.test.is_gpu_available()

print(tf.test.is_gpu_available(cuda_only=False) )


更多例子可以移步官网:


https://github.com/microsoft/DirectML/tree/master/TensorFlow


场景2:在Windows本地使用Tensorflow-DirectML


这个更加简单了,那你就根本不需要安装WSL2了,直接:


goto Flag1

把所有的步骤都在Windows下操作即可!


PS:

RX6600的小伙伴SDK直接安装这个:

https://www.amd.com/en/support/kb/release-notes/rn-rad-win-21-10-2-rx6600


这边博主是很怀疑萌新的阅读能力的,你这就不能打开网页翻译吗


下载好后是这个,双击安装!


参考:

https://docs.microsoft.com/zh-cn/windows/ai/directml/gpu-tensorflow-windows


扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1