首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行dgllife pubchem_aromaticity示例报告错误

运行dgllife pubchem_aromaticity示例报告错误
EN

Stack Overflow用户
提问于 2022-03-10 11:35:33
回答 1查看 77关注 0票数 0

我下载了dgllife并运行了pubchem_aromaticity示例。(https://github.com/chaoyue729/dgl-lifesci/tree/master/examples/property_prediction/pubchem_aromaticity)。但总是报告错误。当我更改args‘设备’=“cpu”时,它可以运行。但太慢了。我要在库达身上查一下。我怎么才能修好它?

代码语言:javascript
复制
def main(args):
    args['device'] = torch.device("cuda:0") if torch.cuda.is_available() else torch.device("cpu")
    #args['device'] = torch.device("cpu")
    ......

dgl._ffi.base.DGLError:无法将设备cuda:0上的节点特性"hv“分配给设备cpu上的图形。调用DGLGraph.to()将图形复制到同一设备。

我想错误的原因是第46行的main.py的bg,它的类型是"dgl.heterograph.DGLHeteroGraph",不能复制到CUDA。参考文献(https://docs.dgl.ai/guide_cn/graph-gpu.html?highlight=dglerror)但我不知道该怎么设置。

EN

回答 1

Stack Overflow用户

发布于 2022-03-11 07:58:40

我已经解决了这个问题。解决方案是通过"main.py“在函数回归上添加一些代码。

代码语言:javascript
复制
def regress(args, model, bg):
    atom_feats, bond_feats = bg.ndata.pop('hv'), bg.edata.pop('he')
    atom_feats, bond_feats = atom_feats.to(args['device']), bond_feats.to(args['device'])
    bg = bg.to(args['device'])
    return model(bg, atom_feats, bond_feats)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71423479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档