Как я могу получить доступ к ZIP-файлу, который создает ML.NET при публикации в Google Cloud? - PullRequest
0 голосов
/ 05 июня 2019

Я создаю веб-API управления автомобилем, и чтобы получить среднюю цену за автомобиль, я создал модель с использованием ML.NET и, как и ожидалось, создал файл .zip, в котором находятся данные обучения. Теперь все работает как положено локально. Проблема в том, что, несмотря на то, что я указал на файл с относительным путем, я получаю сообщение об ошибке в Google Cloud, в котором говорится, что файл не найден.

При локальном запуске приложения я могу получить доступ к конечной точке, и все работает. Вот так я загрузил модель

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

В Google Cloud, однако, я получаю эту ошибку:

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

Я думаю, что поскольку приложение опубликовано, структура папок потеряна. Поэтому я должен был разместить файл где-нибудь еще. Я загрузил его в корзину, но я не знаю, как это назвать, и даже если это действительно сработает. Что я мог сделать?

Спасибо!

1 Ответ

1 голос
/ 06 июня 2019

Решение оказалось намного проще, чем я думал вначале.

Я должен был добавить PreditionEnginePool с моделями и иметь .zip внутри начальной точки API.

Очень хорошее объяснение здесь: https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/serve-model-web-api-ml-net

Теперь все работает.

...