* adding LABOR sampling
* add ladies and pladies samplers
* fix compile error after rebase
* add reference for ladies sampler
* Improve ladies implementation.
* weighted labor sampling initial implementation draft
fix indentation and small bug in ladies script
* importance_sampling currently doesn't work with weights
* fix weighted importance sampling
* move labor example into its own folder
* lint fixes
* Improve documentation
* remove examples from the main PR
* fix linting by not using c++17 features
* fix documentation of labor_sampler.py
* update documentation for labor.py
* reformat the labor.py file with black
* fix linting errors
* replace exception use with if
* fix typo in error comment
* fixing win64 build for ci
* fixing weighted implementation, works now.
* fix bug in the weighted case and importance_sampling==0
* address part of the reviews
* remove unused code paths from cuda
* remove unused code path from cpu side
* remove extra features of labor making use of random seed.
* fix exclude_edges bug
* remove pcg and seed logic from cpu implementation, seed logic should still work for cuda.
* minor style change
* refactor CPU implementation, take out the importance_sampling probability computation into a function.
* improve CUDAWorkspaceAllocator
* refactor importance_sampling part out to a function
* minor optimization
* fix linting issue
* Revert "remove pcg and seed logic from cpu implementation, seed logic should still work for cuda."
This reverts commit c250e07ac6d7e13f57e79e8a2c2f098d777378c2.
* Revert "remove extra features of labor making use of random seed."
This reverts commit 7f99034353080308f4783f27d9a08bea343fb796.
* fix the documentation
* disable NIDs
* improve the documentation in the code
* use the stream argument in pcg32 instead of skipping ahead t times, can discard the use of hashmap now since it is faster this way.
* fix linting issue
* address another round of reviews
* further optimize CPU LABOR sampling implementation
* fix linting error
* update the comment
* reformat
* rename and rephrase comment
* fix formatting according to new linting specs
* fix compile error due to renaming, fix linting.
* lint
* rename DGLHeteroGraph to DGLGraph to match master
* replace other occurrences of DGLHeteroGraph to DGLGraph
Co-authored-by: Muhammed Fatih BALIN <m.f.balin@gmail.com>
Co-authored-by: Kaan Sancak <kaansnck@gmail.com>
Co-authored-by: Quan Gan <coin2028@hotmail.com>
* nonuniform sampler
* unit test
* test on out neighbors
* error checks
* lint
* fix
* clarification
* use macro switcher
* use empty array for uniform sampling
* oops
* Revert "oops"
This reverts commit a11f9ae707aaeb67fb5921c887a17d3711d5b04a.
* Revert "use empty array for uniform sampling"
This reverts commit 8526ce4cade89f2c1b09a08aca8830375ebafb31.
* re-reverting
* use a method
* rng refactor
* fix bugs
* unit test
* remove setsize
* lint
* fix test
* use explicit instantiation instead of inlining
* stricter test
* use tvm solution
* moved python interface to dgl.random
* lint
* address comments
* make getthreadid an inline function
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* moving random walk to public function
* per-thread seed and openmp support
* pinsage-like model on movielens
* the code runs now
* support cuda
* using readonly graph
* using C random walk
* removing profile decorators
* param initialization
* no grad
* leaky relu fixes everything
* train and save
* WIP
* WIP
* WIP
* seems to work
* evaluation output
* swapping order of val/test and train
* debug
* hyperparam tuning
* prior/training dataset split changes
* random walk reorg
* random walk with restart
* signed comparison fix
* migrating random walk to nodeflow
* Revert "migrating random walk to nodeflow"
This reverts commit f2565347cced7c912a58a529b257c033d9f375b7.
* add README and remove dataset
* new endpoint
* lint
* lint x2
* oops forgot test
* including bpr - better for baseline
* addressing fixes
* throwing random walks out from SamplerOp class
* forgot to move RandomWalk; why did this even work?
* removing legacy garbage
* add todo
* address comments
* stupid bug fix
* call ndarrayvector converter to handle traces
* random walk traces generation
* remove outdated comments
* oops put in the wrong place
* explicit inline
* moving rand_r to util
* moving random walk to public function
* per-thread seed and openmp support
* type cast styles