DataLoader都一样,一直没注意上面的引入包,因为换了个数据加载格式,从自己封的Data图数据,到用dgl包装
train_loader = DataLoader(train_glist, batch_size=args.batchSize, shuffle=True, collate_fn=collate) # ,drop_last=True
test_loader = DataLoader(test_glist, batch_size=args.batchSize,collate_fn=collate)
原因,使用的DataLoader引入包不一样,数据是[[g,label],[g,label],…]用下面这个:
from torch.utils.data import DataLoader
当用这个加载的时候报错:TypeError: DataLoader found invalid type: <class ‘dgl.heterograph.DGLHeteroGraph’>
from torch_geometric.loader import DataLoader
但是下面这个适合整体性的数据,例如[Data({}),Data({}),…]
所以根据不同的数据内容,选择好不同的图数据加载器