Ошибка создания версии. Обнаружена плохая модель с ошибкой: «... ни один модуль с именем 'sklearn.impute._base'; 'sklearn.impute' не является пакетом. (Код ошибки: 0)" - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь создать версию на облачной платформе Google, но не могу найти модуль вменения

No module named 'sklearn.impute._base; 'sklearn.impute' is not a package

enter image description here Версия Framework - sklearn 0.20. 4 хотя и последний раз я проверял, что do c 0.20.4 имеет файл sklearn.impute api.

page 1785 https://scikit-learn.org/0.20//_downloads/scikit-learn-docs.pdf

Включен ли весь пакет sklearn в платформе ай? Есть ли обходной путь (на самом деле не хочу писать пользовательский импутер) или я неправильно использую платформу ai?

Ответы [ 2 ]

1 голос
/ 02 февраля 2020

scikit-learn 0.20.4 включено в последнюю версию среды выполнения 1.15 и более ранних версий.

Из документации scikit-learn: https://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html эта функция включена в 0.20.4:

Я попытался локально с Python 3.5 / 3.7, и этот метод работал нормально:

...
scikit-learn==0.20.4
scipy==1.4.1
six==1.14.0
tensorboard==1.15.0
tensorflow==1.15.2
tensorflow-estimator==1.15.1
termcolor==1.1.0
Werkzeug==0.16.1
wrapt==1.11.2

...
>>> import numpy as np
>>> from sklearn.impute import SimpleImputer
>>> imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
>>> imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]])
SimpleImputer(copy=True, fill_value=None, missing_values=nan, strategy='mean',
       verbose=0)

Среда выполнения AI Platform Training по умолчанию версия, используемая API обучения и прогнозирования платформы AI, - версия 1.0. Если вы не укажете версию времени выполнения, AI Platform Training использует версию 1.0.

Убедитесь, что вы указали правильную версию времени выполнения при запуске задания:

gcloud ai-platform jobs submit training my_job \
    --module-name trainer.task \
    --job-dir gs://my/training/job/directory \
    --package-path /path/to/my/project/trainer \
    --region us-central1
    --runtime-version 1.15

Вопрос: Можете ли вы поделиться тем, как вы запускаете задание и устанавливаете версию во время выполнения?

0 голосов
/ 27 января 2020

Я сталкивался с подобными проблемами в прошлом. Пакет sklearn включен в платформу AI, однако, если вы обучили свою модель, используя версию, отличную от той, которую использует платформа AI, вам нужно go вернуться и переобучить модель, используя ту же версию scikit-learn, что и время выполнения платформы AI использует.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...