Giter VIP home page Giter VIP logo

gnnwlrnns's People

Contributors

gustiks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

kunc

gnnwlrnns's Issues

The time measuring module in run_script_dgl.py is not accurate

Dear authors,

Recently I went through your paper Lossless Compression of Structured Convolutional Models via Lifting and found it very interesting.

However, I noticed that you did not correctly measure the DGL running time on GPU, and most of the DGL time you measured comes from the graph conversion overhead (the DGLGraph is converted from pyg format).

The following code section

GNNwLRNNs/run_script_dgl.py

Lines 305 to 319 in 0a62877

start = time.time()
train_results = train(model, train_loader, optimizer, epoch)
# train_loss2, train_acc = test(model, train_loader)
val_results = test(model, val_loader)
test_results = test(model, test_loader)
if val_results.loss < best_val_results.loss:
print(f'improving validation loss to {val_results.loss} at epoch {epoch}')
best_val_results = val_results
best_test_results = test_results
best_train_results = train_results
print(f'storing respective test results with accuracy {best_test_results.accuracy}')
end = time.time()

will not correctly record the real GPU execution time because in PyTorch the GPU operators are asynchronous. To get the accuracy GPU time, you can either put torch.cuda.synchronize() after and before your time.time() statement or use torch.cuda.Event for more accurate profiling. (See https://pytorch.org/docs/stable/notes/cuda.html).

The graph conversion overhead could be hidden by enabling multi-processing data loader, I could help implement this if needed.

I know the DGL implementation only acts as a baseline in your paper but I think a fair comparison looks better :)
btw, in the DGL 0.5 release (coming soon) we greatly improved the speed performance, please stay tuned if you're interested.

Best,
Zihao

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.