dmlc / dgl

Python package built to ease deep learning on graph, on top of existing DL frameworks.
http://dgl.ai
Apache License 2.0
13.53k stars 3.01k forks source link

Running error for all mini-batch runs within examples/pytorch/gcmc #4028

Open chang-l opened 2 years ago

chang-l commented 2 years ago

🐛 Bug

Mini-batch sampling pipline update, one of the major features released in v0.8, has not been propagated to examples/pytorch/gcmc/train_sampling.py.

To Reproduce

Step(s) to reproduce the behavior:

(single GPU run)

  1. python3 train_sampling.py --data_name=ml-100k --use_one_hot_fea --gcn_agg_accum=stack --gpu 0

Traceback (most recent call last): File "/workspace/examples/gcmc/train_sampling.py", line 377, in run(0, n_gpus, args, devices, dataset) File "/workspace/examples/gcmc/train_sampling.py", line 202, in run sampler = dgl.dataloading.MultiLayerNeighborSampler([None], return_eids=True) TypeError: init() got an unexpected keyword argument 'return_eids'

Expected behavior

The case should run through (with single/multi-GPU settings)

Environment

Additional context

The same type of error (mini-batch sampling update) is also happened to all TGN examples (examples/pytorch/tgn/train.py), where EdgeCollator is no longer a valid class name from latest dgl-v0.8x release...

jermainewang commented 2 years ago

Fixed by #4082

chang-l commented 2 years ago

@jermainewang In fact, this issue has not been resolved because of the outdated DGL dataloader APIs. It seems train_sampling.py uses at least two features that have been deprecated: (1) Set return_eids=True in MultiLayerNeighborSampler to use dgl.EID later (no longer support in 0.8x) (2) Specify g_sampling in dataloader constructor (no longer support in 0.8x).

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you