在没有Conda环境的情况下部署MLflow模型

时间:2020-02-10 21:47:10

标签: python docker virtualenv conda mlflow

当前正在将我的MLflow模型部署在Docker容器中。 Docker容器设置有模型所需的所有必需依赖项,因此对于MLflow而言,然后创建/激活模型的conda环境似乎是多余的。查看文档(https://www.mlflow.org/docs/latest/cli.html#mlflow-models-serve),它说您可以使用--no-conda标志来提供模型,并且MLflow将假定您“正在具有必需依赖项的Conda环境中运行”。当我们在具有必要依赖项的任何环境中运行(不一定是Conda环境)时,此解决方案便对我们有效。这个对吗?还是在运行--no-conda标志时绝对需要激活Conda环境?

例如,我可以创建一个virtualenv,并在激活virtualenv的情况下使用mlflow models serve -m [model/path] --no-conda在本地提供模型。这样,该模型即可正常运行,但是文档表明它似乎不起作用,因为它明确要求使用Conda环境。

1 个答案:

答案 0 :(得分:0)

您不需要使用Response: { "errorType": "Runtime.ExitError", "errorMessage": "RequestId: 541f6cc6-2195-409a-88d3-e98c57fbd539 Error: Runtime exited with error: signal: killed" } Request ID: "541f6cc6-2195-409a-88d3-e98c57fbd539" Function Logs: START RequestId: 541f6cc6-2195-409a-88d3-e98c57fbd539 Version: $LATEST {'ResponseMetadata': {'RequestId': '0860AE16F7A96522', 'HostId': 'D6k1kFcCv9Qz70ANXjEnPQEFsKpAntqJND9FRf5diae3WWmDbVDJENkPCd1oOOOfFt8BJ8b8OOY=', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amz-id-2': 'D6k1kFcCv9Qz70ANXjEnPQEFsKpAntqJND9FRf5diae3WWmDbVDJENkPCd1oOOOfFt8BJ8b8OOY=', 'x-amz-request-id': '0860AE16F7A96522', 'date': 'Wed, 01 Apr 2020 17:51:49 GMT', 'last-modified': 'Thu, 19 Mar 2020 17:17:37 GMT', 'etag': '"b56479c4073a90943b3d862d5d4ff38d-6"', 'accept-ranges': 'bytes', 'content-type': 'text/csv', 'content-length': '50000056', 'server': 'AmazonS3'}, 'RetryAttempts': 1}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2020, 3, 19, 17, 17, 37, tzinfo=tzutc()), 'ContentLength': 50000056, 'ETag': '"b56479c4073a90943b3d862d5d4ff38d-6"', 'ContentType': 'text/csv', 'Metadata': {}, 'Body': <botocore.response.StreamingBody object at 0x7f536df1ddc0>} None END RequestId: 541f6cc6-2195-409a-88d3-e98c57fbd539 REPORT RequestId: 541f6cc6-2195-409a-88d3-e98c57fbd539 Duration: 12923.11 ms Billed Duration: 13000 ms Memory Size: 128 MB Max Memory Used: 129 MB Init Duration: 362.26 ms RequestId: 541f6cc6-2195-409a-88d3-e98c57fbd539 Error: Runtime exited with error: signal: killed Runtime.ExitError 选项安装Conda环境。

如《快速入门》指南(https://www.mlflow.org/docs/latest/quickstart.html所示)中指出,只要安装了所有依赖项,就可以了。不管您如何安装这些依赖项(pipenv,诗歌或pip)。

注意事项:这样一来,您就无法在MLFlow中为您的项目定义依赖项(因为使用conda来安装这些依赖项)

您应该能够安全地继续当前的练习。