Нет такого файла или каталога: '/tmp/model/0001' платформа Google Cloud AI при использовании пользовательской процедуры прогнозирования
Папка /tmp/model в экземпляре gcloud кажется пустой. Похоже, что файлы не были правильно скопированы из учетной записи хранения, хотя в журнале stderr указано иное.
Пожалуйста, как мне это сделать и что мне не хватает. Я могу успешно создать версию модели, когда делаю запрос на прогноз.
Вот команда, используемая для создания версии модели:
gcloud beta ai-platform versions create $VERSION_NAME --model $MODEL_NAME --runtime-version 1.15 --python-version 3.7 --origin gs://$BUCKET_NAME/custom_prediction_routine/model/ --package-uris gs://$BUCKET_NAME/custom_prediction_routine/custom_predict_code-0.1.tar.gz --prediction-class predictor.MyPredictor
И это from_path
метод класса:
@classmethod
def from_path(cls, model_dir):
sys.stderr.write(str(model_dir))
return cls(model_dir)
1 ответ
Судя по коду, которым вы поделились, кажется, что вы не загружаете модель непосредственно в from_path
и вы отправляете путь прямо к вашему экземпляру Predictor.
Вместо этого попробуйте загрузить модель прямо в from_path
, например, используя модель keras:
@classmethod
def from_path(cls, model_dir):
model = keras.models.load_model(model_dir) # Load with Keras, or the appropriate format
return cls(model)
Если проблема не исчезнет, попробуйте сделать запрос прогноза прогрева изнутри from_path
функция. Например:
@classmethod
def from_path(cls, model_dir):
model = keras.models.load_model(model_dir)
predictor = cls(model)
outputs = predictor.predict([[1,2,3,4,5]]) # Here goes your warm up prediction request
return predictor
РЕДАКТИРОВАТЬ
Об этой проблеме было сообщено здесь в Google Issue Tracker. В ответ было сказано, что и модель, и все артефакты, которые будут использоваться изmodel_dir
необходимо загрузить во время выполнения from_path
и хранятся в классе предикторов, если они будут использоваться во время прогнозов.