## 🐛 Bug
```bash
print graph Graph(num_nodes=104818, num_edges=1150630,
… ndata_schemes={}
edata_schemes={})
Exception in thread Thread-1 (thread_worker):
Traceback (most recent call last):
File "/root/anaconda3/envs/GINO/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/root/anaconda3/envs/GINO/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/torchdata/datapipes/iter/util/prefetcher.py", line 69, in thread_worker
item = next(itr)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/torch/utils/data/datapipes/_hook_iterator.py", line 173, in wrap_generator
response = gen.send(None)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/torch/utils/data/datapipes/iter/callable.py", line 123, in __iter__
yield self._apply_fn(data)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/torch/utils/data/datapipes/iter/callable.py", line 88, in _apply_fn
return self.fn(data)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/dgl/graphbolt/minibatch_transformer.py", line 38, in _transformer
minibatch = self.transformer(minibatch)
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/dgl/graphbolt/feature_fetcher.py", line 97, in _read
node_features[feature_name] = self.feature_store.read(
File "/root/anaconda3/envs/GINO/lib/python3.10/site-packages/dgl/graphbolt/impl/basic_feature_store.py", line 58, in read
return self._features[(domain, type_name, feature_name)].read(ids)
KeyError: "
This exception is thrown by __iter__ of
FeatureFetcher(
datapipe=MultiprocessingWrapper, edge_feature_keys=None, feature_store=
TorchBasedFeatureStore{
(<OnDiskFeatureDataDomain.NODE: 'node'>, 'float32', 'x_in') :
TorchBasedFeature(feature=tensor([
[ 0.9825, 0.4900, -0.0148],
[ 0.9803, 0.4900, -0.0105],
[ 0.9846, 0.2326, -0.3140],
...,
[ 0.1170, 0.2753, 0.7003],
[ 0.1107, 0.2824, 0.7003],
[ 0.1128, 0.2753, 0.7003]]),
metadata={},
),
(<OnDiskFeatureDataDomain.NODE: 'node'>, 'float32', 'area'):
TorchBasedFeature(feature=tensor([
[0.3695],
[0.3695],
[0.2457],
...,
[0.3603],
[0.3604],
[0.3604]]),
metadata={},
)},
node_feature_keys=['x_in', 'area'])"
```
## To Reproduce
Steps to reproduce the behavior:
1.Download data https://drive.google.com/drive/folders/1esJ-4ThKsaDQQLQMtZVowwkSlY8thJxr?usp=drive_link
2.Run This
```python
import torch
import dgl
import dgl.graphbolt as gb
graph = dgl.load_graphs("./graph.bin")[0][0]
print("print graph", graph)
feat_data = [
gb.OnDiskFeatureData(domain="node", type="float32", name="x_in",
format="numpy", path="./x_in.npy", in_memory=False),
gb.OnDiskFeatureData(domain="node", type="float32", name="area",
format="numpy", path="./area_in.npy", in_memory=False),
]
graph = gb.from_dglgraph(graph, True)
feature = gb.TorchBasedFeatureStore(feat_data)
item_set = gb.ItemSet(104818, names="seed_nodes")
datapipe = gb.ItemSampler(item_set, batch_size=1024, shuffle=False)
datapipe = datapipe.sample_neighbor(graph, [10, 10]) # 2 layers.
datapipe = datapipe.fetch_feature(feature, node_feature_keys=["x_in", "area"])
datapipe = datapipe.copy_to(torch.device('cuda'))
dataloader = gb.DataLoader(datapipe)
mini_batch = next(iter(dataloader))
print("\nmini_batch x_in : ", mini_batch.node_features["x_in"])
```
## Expected behavior
1024 src nodes feature "x_in" should be printed
Many dst nodes features "x_in" should be printed
## Environment
- DGL Version (e.g., 1.0): dgl 2.0.0+cu116
- Backend Library & Version (e.g., PyTorch 0.4.1, MXNet/Gluon 1.3): torch 1.13.1+cu116
- OS (e.g., Linux): Linux
- How you installed DGL (`conda`, `pip`, source): pip
- Build command you used (if compiling from source):
- Python version: python 3.10
- CUDA/cuDNN version (if applicable): cuda 11.6 cuDNN 7.4
- GPU models and configuration (e.g. V100): A100 40GB
- Any other relevant information:
## Additional context