THUDM / CogDL

CogDL: A Comprehensive Library for Graph Deep Learning (WWW 2023)

Home Page:https://cogdl.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

想问下dgl.graph能方便转化为cogdl.data.Graph吗

dywlkji opened this issue · comments

您好,我这边是做生物信息的。
之前一直用dgl来进行研究,然后想尝试下cogdl的效果,然后已经用dgl构建好了相关分子图数据,迁移到这边有没有什么好的建议,当然pyg数据我们也有,但是我尝试用cogdl.data.Graph.from_pyg_data这个方法来转化,好像不太行

Hi @dywlkji ,

欢迎关注cogdl。转换起来还是比较容易的,假设dg是一个dgl.graph,可以通过这种方式转换成cogdl的Graph。

from cogdl.data import Graph
g = Graph(x=dg.ndata["feat"], edge_index=dg.edges())

你好@dywlkji,

很喜欢关注cogdl。转换起来还是比较容易的,假设dg是一个dgl.graph,可以通过这种方式转换成cogdl的Graph。

from cogdl.data import Graph
g = Graph(x=dg.ndata["feat"], edge_index=dg.edges())

好的 非常感谢您的帮助 因为比较初学,然后还有几个不清楚问题:
① 我测试了自定义数据集graph_classification 发现只有Graph Classification分类下面的model例如GIN可以训练,但是其他分类下面的比较经典的像GCN和GAT,则无法在graph_classification下运行。看报错是因为传入的dataset为list(Graph),而非Graph,这种有好的办法处理吗?还是说只能使用Graph Classification分类下的几个model?
② 然后想问下,对于 graph_classification 下面的model,可以训练regression model吗?我发现使用非离散数据时,会由于out_classes的默认设置而报错,感觉不支持regression,还是说我的使用有问题。
③ 然后我使用gin时,cuda会报错,数据量大概是7000多,当我删除部分数据后,又可以正常运行。报错代码如下:
CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)
感觉不太像是爆显存的报错,但是减少数据后缺能正常运行,很疑惑

Hi @dywlkji,

  1. 目前是只能使用Graph Classification分类下的模型,主要是GIN。我们也正在考虑怎么把节点分类模型也用于图分类。
  2. 可以的,但是需要在数据集内部自己定义get_evaluator这个函数。
  3. 这个我猜测可能是某几条数据导致的问题,可以考虑进一步调试定位一下问题。

Hi @dywlkji,

  1. 目前是只能使用Graph Classification分类下的模型,主要是GIN。我们也正在考虑怎么把节点分类模型也用于图分类。
  2. 可以的,但是需要在数据集内部自己定义get_evaluator这个函数。
  3. 这个我猜测可能是某几条数据导致的问题,可以考虑进一步调试定位一下问题。

明白了 感谢您的帮助