We don't need to expose Feature.read_async and related functions in FeatureStore. This functionality will let us access the stored Features in FeatureFetcher and we will be able to call the hidden read_async functions as the user will mostly keep
FeatureStore objects around, not Features. Moreover, it is possible to provide the implementations of read, update and other functions if we expose a __getitem__ method, increasing code reuse.
Please feel free to remove inapplicable items for your PR.
[ ] The PR title starts with [$CATEGORY] (such as [NN], [Model], [Doc], [Feature]])
[ ] I've leverage the tools to beautify the python and c++ code.
[ ] The PR is complete and small, read the Google eng practice (CL equals to PR) to understand more about small PR. In DGL, we consider PRs with less than 200 lines of core code change are small (example, test and documentation could be exempted).
[ ] All changes have test coverage
[ ] Code is well-documented
[ ] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change
[ ] Related issue is referred in this PR
[ ] If the PR is for a new model/paper, I've updated the example index here.
@dgl-bot run [instance-type] [which tests] [compare-with-branch];
For example: @dgl-bot run g4dn.4xlarge all dmlc/master or @dgl-bot run c5.9xlarge kernel,api dmlc/master
Description
We don't need to expose
Feature.read_async
and related functions inFeatureStore
. This functionality will let us access the stored Features in FeatureFetcher and we will be able to call the hidden read_async functions as the user will mostly keep FeatureStore objects around, not Features. Moreover, it is possible to provide the implementations of read, update and other functions if we expose a__getitem__
method, increasing code reuse.It will also make the examples look better and our components easier to use. https://github.com/dmlc/dgl/blob/69fd95e370fb935dbce9896ad56165b8097dcd3e/examples/multigpu/graphbolt/node_classification.py#L299-L303
Checklist
Please feel free to remove inapplicable items for your PR.
Changes