[FEA] True asynchronous TF dataloading
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- keras, python, tensorflow
- Domain
- data-engineering, machine-learning
Research direction
Start by reading the KerasSequenceLoader implementation and tracing where TensorFlow ops and DLPack conversion occur during batch and column slicing. The work is done when data-loading ops execute in a separate TensorFlow context asynchronously without introducing the described per-batch conversion inefficiency.
Written by the indexing model from the issue text.
Description
Even though the KerasSequenceLoader tries to load data in a separate Python thread, it leverages TF ops in that "thread" and so TF's scheduler is ultimately responsible for scheduling and executing those ops along with the ops in the neural network. This mitigates the "asynchronous" nature of the data loader. Finding a way to manage a separate TF context to execute the data loading ops in will be critical.
While it might be possible to remove all TF ops from the data loader, which would mean doing all batch and column level slicing on the CuDF side and making sure that everything is converted as an (N, 1) array so that you don't need to do any tf.expand_dims, this means the dlpack conversion will be done on each of these batched-and-sliced arrays which ends up becoming even more inefficient.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 149
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA-Merlin/NVTabular
-
[DOC] Open
Difficulty 4/5 3-5 days Newbie friendliness 20/100
NVIDIA-Merlin/NVTabular#1898 · 1 comment ·
-
question
Difficulty 5/5 Over a week Newbie friendliness 25/100
NVIDIA-Merlin/NVTabular#1895 ·
-
question
Difficulty 4/5 3-5 days Newbie friendliness 25/100
NVIDIA-Merlin/NVTabular#1893 ·
-
question
Difficulty 5/5 Over a week Newbie friendliness 20/100
NVIDIA-Merlin/NVTabular#1892 · 1 reaction ·
-
question
Difficulty 4/5 3-5 days Newbie friendliness 35/100
NVIDIA-Merlin/NVTabular#1891 ·
All issues in NVIDIA-Merlin/NVTabular
Similar issues
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100