dask / dask/dask-examples

Use an already trained Keras model to predict on lots of data

Open
#35 17 comments 1 reaction 0 assignees View on GitHub
help wanted
Dominant language
Jupyter Notebook
Stars
387
Forks
225
PR merge metrics
No merged PRs in 30d

Description

A common approach is to train on a bit of data and then use that trained model to predict on lots of data. We could do this using ParallelPostFit in dask-ml, or we can use `X.map_blocks` or `df.map_partitions`. In either case we might want to be a bit careful about avoiding repeated serializations costs. For example, in the following case I suspect that we include the serialized model in every task

```python
# maybe bad?
model = load_model()
predictions = X.map_blocks(model.predict)
```

It's probably better to encourage the user to keep the model delayed

```python
# maybe bad?
model = dask.delayed(load_model)()
predictions = X.map_blocks(model.predict)
```

We should also ensure that dask-ml does this correctly, and includes the model as a single task in the graph so that it gets sent around appropriately (cc @TomAugspurger )

I'm also generally curious if a Keras model that lives on the GPU will eventually make its way back onto the GPU when deserializing.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.