dgl icon indicating copy to clipboard operation
dgl copied to clipboard

[doc] code in user guide chapter 7 about DistDGL is not runnable

Open wangguan1995 opened this issue 1 year ago • 3 comments

📚 Documentation

cant run this

https://docs.dgl.ai/en/latest/guide/distributed.html

import dgl
from dgl.dataloading import NeighborSampler
from dgl.distributed import DistGraph, DistDataLoader, node_split
import torch as th

# initialize distributed contexts
dgl.distributed.initialize('ip_config.txt')
th.distributed.init_process_group(backend='gloo')
# load distributed graph
g = DistGraph('graph_name', 'part_config.json')
pb = g.get_partition_book()
# get training workload, i.e., training node IDs
train_nid = node_split(g.ndata['train_mask'], pb, force_even=True)


# Create sampler
sampler = NeighborSampler(g, [10,25],
                          dgl.distributed.sample_neighbors,
                          device)

dataloader = DistDataLoader(
    dataset=train_nid.numpy(),
    batch_size=batch_size,
    collate_fn=sampler.sample_blocks,
    shuffle=True,
    drop_last=False)

# Define model and optimizer
model = SAGE(in_feats, num_hidden, n_classes, num_layers, F.relu, dropout)
model = th.nn.parallel.DistributedDataParallel(model)
loss_fcn = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=args.lr)

# training loop
for epoch in range(args.num_epochs):
    with model.join():
        for step, blocks in enumerate(dataloader):
            batch_inputs, batch_labels = load_subtensor(g, blocks[0].srcdata[dgl.NID],
                                                        blocks[-1].dstdata[dgl.NID])
            batch_pred = model(blocks, batch_inputs)
            loss = loss_fcn(batch_pred, batch_labels)
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()

wangguan1995 avatar Mar 15 '24 02:03 wangguan1995

Could you please paste the error message here?

Skeleton003 avatar Mar 18 '24 09:03 Skeleton003

The code there is just for demonstration, which is not expected to be runnable seamlessly, can you try https://github.com/dmlc/dgl/tree/master/examples/distributed/graphsage.

frozenbugs avatar Mar 21 '24 02:03 frozenbugs

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

github-actions[bot] avatar May 02 '24 01:05 github-actions[bot]