当我发布到 Google 云时,如何访问 ML.NET 创建的 .zip 文件?

How can I access the .zip file ML.NET creates, when I'm publishing to Google Cloud?

我正在构建一个汽车管理网站 API,为了获得汽车的平均价格,我使用 ML.NET 构建了一个模型,正如预期的那样,它创建了一个 .训练数据所在的 zip 文件。现在一切都按预期在本地运行。问题是,即使我用相对路径指向文件,我在 Google Cloud 上收到错误消息,提示找不到该文件。

当 运行 在本地应用程序时,我可以访问端点,并且一切正常。这就是我加载模型的方式

Model.Load("../CarManagementAPIML.Model/MLModel.zip", out var modelInputSchema);

在 Google 云上,但是我收到此错误:

System.IO.DirectoryNotFoundException: Could not find a part of the path '/CarManagementAPIML.Model/MLModel.zip'.
at Interop.ThrowExceptionForIoErrno
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open

我在想,既然发布了应用程序,文件夹结构就丢失了。所以我必须将文件放在其他地方。我已将它上传到一个存储桶中,但我不知道如何调用它,即使它真的有效。 我能做什么?

谢谢!

解决方案似乎比我最初想的要简单得多。

我必须为模型添加一个 PreditionEnginePool,并将 .zip 放在 api 的起点内。

这里的解释非常好: https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/serve-model-web-api-ml-net

现在一切正常。