还有个姊妹篇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