У нас есть проект, следующий по существу этому docker примеру , с той лишь разницей, что мы создали пользовательскую модель, подобную this , код которой находится в каталоге с именем forecast
. Нам удалось запустить модель с mlflow run
. Проблема возникает, когда мы пытаемся служить модели. После выполнения
mlflow models build-docker -m "runs:/my-run-id/my-model" -n "my-image-name"
мы не можем запустить контейнер с
docker run -p 5001:8080 "my-image-name"
со следующей ошибкой:
ModuleNotFoundError: No module named 'forecast'
Кажется, что изображение docker не знать об исходном коде, определяющем наш пользовательский класс модели. В среде Conda проблема не возникает благодаря аргументу code_path
в mlflow.pyfunc.log_model
.
Наш Dockerfile очень прост c, всего с FROM continuumio/miniconda3:4.7.12, RUN pip install {model_dependencies}
.
Как разрешить docker изображение знает об исходном коде для десериализации модели и запуска ее?