For Mini-batch size parameter, if -1, is that meaning use full graph training?

For rgcn-hetero, when I set --batch-size=-1, it will output ValueError: Got an empty dictionary in the nodes argument.:

python entity_classify_mb.py -d aifb --testing --gpu 0 --fanout=8 --batch-size=-1

Namespace(batch_size=-1, data_cpu=False, dataset='aifb', dropout=0, fanout=8, gpu=0, l2norm=0, lr=0.01, model_path=None, n_bases=-1, n_epochs=20, n_hidden=16, n_layers=2, use_self_loop=False, validation=False)
Done loading data from cached files.
start training...
Epoch 00000 | Batch 000 | Train Acc: 0.2734 | Train Loss: 1.4407 | Time: 0.2922
Traceback (most recent call last):
  File "entity_classify_mb.py", line 207, in <module>
    main(args)
  File "entity_classify_mb.py", line 127, in main
    for i, (input_nodes, seeds, blocks) in enumerate(loader):
  File "/usr/local/lib/python3.7/dist-packages/dgl/dataloading/dataloader.py", line 497, in __next__
    self._next_non_threaded() if not self.use_thread else self._next_threaded()
  File "/usr/local/lib/python3.7/dist-packages/dgl/dataloading/dataloader.py", line 470, in _next_non_threaded
    batch = next(self.dataloader_it)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 530, in __next__
    data = self._next_data()
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 570, in _next_data
    data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 40, in fetch
    return self.collate_fn(data)
  File "/usr/local/lib/python3.7/dist-packages/dgl/dataloading/dataloader.py", line 519, in __call__
    batch = self.sample_func(self.g, items)
  File "/usr/local/lib/python3.7/dist-packages/dgl/dataloading/base.py", line 243, in sample
    result = self.sample_blocks(g, seed_nodes, exclude_eids=exclude_eids)
  File "/usr/local/lib/python3.7/dist-packages/dgl/dataloading/neighbor_sampler.py", line 113, in sample_blocks
    exclude_edges=exclude_eids)
  File "/usr/local/lib/python3.7/dist-packages/dgl/utils/internal.py", line 921, in _fn
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/dgl/sampling/neighbor.py", line 295, in sample_neighbors
    copy_ndata=copy_ndata, copy_edata=copy_edata, exclude_edges=exclude_edges)
  File "/usr/local/lib/python3.7/dist-packages/dgl/sampling/neighbor.py", line 316, in _sample_neighbors
    "Got an empty dictionary in the nodes argument. "
ValueError: Got an empty dictionary in the nodes argument. Please pass in a dictionary with empty tensors as values instead.

What’s the purpose of setting batch_size to -1?

To use full graph training, there is a comment for batch-size parameter: dgl/entity_classify_mb.py at 4b87e47f15552cb27ddf8e594769ad0361d06627 · dmlc/dgl · GitHub

Duplicate of a question in the slack.