Files
dmlc--dgl/tests/python/pytorch/test_heterograph-pickle.py
T
2026-07-13 13:35:51 +08:00

32 lines
668 B
Python

import io
import pickle
import dgl
import networkx as nx
import torch
def _reconstruct_pickle(obj):
f = io.BytesIO()
pickle.dump(obj, f)
f.seek(0)
obj = pickle.load(f)
f.close()
return obj
def test_pickling_batched_graph():
# NOTE: this is a test for a wierd bug mentioned in
# https://github.com/dmlc/dgl/issues/438
glist = [nx.path_graph(i + 5) for i in range(5)]
glist = [dgl.from_networkx(g) for g in glist]
bg = dgl.batch(glist)
bg.ndata["x"] = torch.randn((35, 5))
bg.edata["y"] = torch.randn((60, 3))
new_bg = _reconstruct_pickle(bg)
if __name__ == "__main__":
test_pickling_batched_graph()