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
Вопрос: Можете ли вы поделиться тем, как вы запускаете задание и устанавливаете версию во время выполнения?