Мы успешно регистрируем версии модели (это модель Pytorch Lightning), и недавно я также добавил code_paths в вызов log_model, чтобы теоретически весь исходный код модели был зарегистрирован/в артефактах (хотя я не уверен, что это лучшая практика? Но в любом случае код модели очень сложен, и я не конечно, как я может извлечь только то, что необходимо сериализатору на стороне потребления).
Код: Выделить всё
mlflow.pytorch.log_model(
pytorch_model=cli.model,
artifact_path="model",
registered_model_name="MyModelName",
code_paths=["src"],
)
Код: Выделить всё
model
|--checkpoints
|--code
|--src
|--
|-- a bunch of other modules and nested stuff under here
|--a bunch of other stuff here
|--data
|--model.pth
|--pickle_module_info.txt (this is a small file with just the text "mlflow.pytorch.pickle_module" in it)
|--MLmodel (small file w/ metadata about the model)
|--conda.yaml
|--python_env.yaml
|--requirements.txt
Код: Выделить всё
model_uri = f"models:/{model_name}/{model_version}"
local_path = mlflow.artifacts.download_artifacts(model_uri)
Однако, когда я пытаюсь загрузить модель:
Код: Выделить всё
loaded_model = mlflow.pytorch.load_model(model_uri)
Я собираюсь сделать это полностью неправильно, или мне здесь не хватает чего-то маленького (например, заставить средство выбора каким-то образом распознать исходный код модели под кодом, поскольку все это есть?)?
Любая помощь будет очень полезна оценил!
Подробнее здесь: https://stackoverflow.com/questions/793 ... c-mymodeln
Мобильная версия