如何在不同的芹菜任务工作者中共享张量流模型
how to share tensorflow model in different celery task workers
我正在做一些 NLP 工作,并且有一些模型是通过 Tensorflow 训练的。我提供了一些 API 来使用这些模型完成分词并通过 Celery 分派请求。
案例是:
Celery会分派任务给不同的worker(大约4-5个),所以每个worker都要加载上面的模型,内存会占用很多。
那么有什么方法可以在worker之间共享模型吗?我其实不知道Celery worker的底层机制。
谢谢
您可以看看 Tensorflow Serving which serves your model as a gRPC API. It supports batching,这听起来像您正在尝试做的事情。如果您出于某种原因确实需要 celery(例如 运行 这些后台任务),您可以从 celery 任务中调用 Tensorflow Serving API。
我正在做一些 NLP 工作,并且有一些模型是通过 Tensorflow 训练的。我提供了一些 API 来使用这些模型完成分词并通过 Celery 分派请求。
案例是:
Celery会分派任务给不同的worker(大约4-5个),所以每个worker都要加载上面的模型,内存会占用很多。
那么有什么方法可以在worker之间共享模型吗?我其实不知道Celery worker的底层机制。
谢谢
您可以看看 Tensorflow Serving which serves your model as a gRPC API. It supports batching,这听起来像您正在尝试做的事情。如果您出于某种原因确实需要 celery(例如 运行 这些后台任务),您可以从 celery 任务中调用 Tensorflow Serving API。