这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。
首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。
https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows
本篇博文,我们将安装PyTorch 1.8.0
PS:MS对FB还是蛮厚道的,编译了比较新的版本,不像TF,给了个1.X,太坏了,至少给个2.X吧
这里用我的方法操作:
首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就用Windows本地演示。
第一步:安装AMD DirectML支持的SDK,相当于A卡的Cuda
可以参考:
https://blog.csdn.net/weixin_44029053/article/details/121581870
这篇博文Flag部分安装驱动的描述。
第二步:安装Pytorch-DirectML
1:下载安装Conda完整版或MiniConda,这边如果硬盘够大我推荐Conda完整版,地址:
https://www.anaconda.com/products/individual
下载Anaconda Individual Edition版,这个是个人免费版
Python版本随意,反正我们后面单独创建Python环境
2:在Conda下创建Python虚拟环境:
我这创建了两个,一个给Pytorch用,一个给Tensoflow用,因为我本来用Miniconda的,官方的
Pytorch-DirectML教程把我之前的Tensoflow-DirectML环境整没了,很难还原回去,所以。。
废话不多说,我们管理员权限打开PowerShell,输入
conda create -n your_env_name python=x.x
创建Python虚拟环境,your_env_name 是环境名字,x.x是python版本,这里我的是
conda create -n torch_dml python=3.8
必须用python38.
以下都用我的名字torch_dml 演示
然后激活torch_dml :
conda activate torch_dml
3:在激活的条件下,安装我们的Pytorch依赖库:
conda install pandas
conda install tensorboard
conda install matplotlib
conda install tqdm
conda install pyyaml
pip install opencv-python
pip install wget
pip install torchvision==0.9.0
PS:上面代码在安装torchvision的时候,会自动下载一个Pytorch CPU版本,这个没关系,他只是一个上层,我们在后面底层Tensor变量可以转化为GPU版本
上面说的“安装torchvision的时候,会自动下载一个Pytorch CPU版本”,并且后面要安装的Pytorch-DirectML也会覆盖CPU版本的代码,这样的确代码是可以运行的,但是这样其实并不严谨,实际上我看了官方那个,CPU版本其实并不需要,强迫症的可以执行:
pip uninstall torch
上面安装代码你可以一行一行复制到PowerShell安装,防止某个安装失败
PS:博主是在开飞机的条件下安装的,如果没有飞机,那么你可以切换国内源
参考:
https://www.cnblogs.com/weiyunpeng/p/11893222.html
4:安装Pytorch-DirectML
依然在我们的Conda虚拟环境torch_dml下安装:
pip install pytorch-directml
import torch
tensor1 = torch.tensor([1]).to("dml")
tensor2 = torch.tensor([2]).to("dml")
dml_algebra = tensor1 + tensor2
print("result:",dml_algebra.item())
如果你出现我上面的“result: 3”这个结果,那么恭喜你,大获成功!
更多demo可以访问官方GitHub:
https://github.com/microsoft/DirectML/tree/master/PyTorch
还有没有好玩的?有哦,下一步,我们将用Pytorch-DirectML或Tensorflow-DirectML导出onnx,用我们的ONNX-DirectML版或者Vulkan在AMD GPU(Windows本地平台)进行GPU加速推理,敬请期待!