基于pytorch geometric做链接预测时切分数据集出现的问题

最近的研究需要用到GNN,然后发现大家用pytorch的比较多,并且pytorch geometric作为GNN API封装得的确挺好,就想学习一下
首先是对异构数据的处理,主要用到HeteroData里面的东西,在写了一堆bug之后发现终于彳亍了
然后发现在处理异构图的时候疯狂报错:
ValueError: The 'RandomLinkSplit' transform expects 'edge_types' tobe specified when operating on 'HeteroData' objects

我不理解.jpg
这里的背景是我已经拿到了异构图数据data
然后写了一个torch_geometric.transforms打算划分训练集、验证集和测试集
transform = RandomLinkSplit(num_val=0.1, num_test=0.2, neg_sampling_ratio=100.0, is_undirected=False)
train_data, val_data, test_data = transform(data)
这两句是参照官方document写的,官方版本如下:
from torch_geometric.transforms import RandomLinkSplit

transform = RandomLinkSplit(is_undirected=True)
train_data, val_data, test_data = transform(data)

很明显这里是需要我指定异构图数据的边类型,不然它也不知道应该拆分哪种边
那好吧,重写如下:
train_data, val_data, test_data = transform(data['user', 'rate', 'movie'])
意料之内的报错如下:
AttributeError: 'EdgeStorage' object has no attribute '_store'
我不理解
明明指定边类型了好不好
似乎这里是数据类型不太对劲,但是实在是不太清楚应该怎么操作了QAQ

另外,我还寄中生智有了个船新想法,将data先用to_homogeneous转化为同构图,然后切分数据集,再将结果转换回去
然后又双叒叕失败了
不知各位有没有什么解决方法