想问下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)
感觉不太像是爆显存的报错,但是减少数据后缺能正常运行,很疑惑