1. 如果你同时有dgl dglcu-XX.XX 那么,应该只会运行dgl (DGL的CPU版本),因此,你需要把dgl(CPU)版本给卸载了
但是我只卸载CPU版本还不够,我GPU 版本的dglcu依旧不好使,因此吧GPU版本的也得卸载了重新安装
最新版的dgl我的cuda版本已经不配了,因此,找老的版本:Linux 64 :: Anaconda.org
我下载的是这个:Dgl Cuda11.3 :: Anaconda.org
含义是 GPU版本的cuda版本为11.3,安装的命令行语句如下(记得关闭魔法梯子,否则会下载不成功)
然后运行demo发现torch也被卸载掉了,那就继续重装:
进入torch找老版本,我的cuda 版本11.4 ,这个版本比较特殊,直接看作11.3即可
因此,torch 可以下载
建议使用pip版本的,因为conda版本的命令我试过,没下载成功,因为开不开魔法梯子我都无法在命令行访问到anaconda官网,离谱,,明明刚还用conda下载了dglcu
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
下载完成后再重新运行一下 ,运行下dgl的示例demo :
import dgl
import torch as th
u, v = th.tensor([0, 1, 2]), th.tensor([2, 3, 4])
g = dgl.graph((u, v))
g.ndata['x'] = th.randn(5, 3) # 原始特征在CPU上
print(g.device)
cuda_g = g.to('cuda:0') # 接受来自后端框架的任何设备对象
cuda_g.device
cuda_g.ndata['x'].device # 特征数据也拷贝到了GPU上
# 由GPU张量构造的图也在GPU上
u, v = u.to('cuda:0'), v.to('cuda:0')
g = dgl.graph((u, v))
print(g.device)
然后就ok