Не удается импортировать библиотеку kats python: «ImportError: невозможно импортировать имя «outcome_constraint_from_str» из «ax.service.utils.instantiation»
Я работаю над блокнотом azure-databricks, я без проблем использую библиотеку kats в течение нескольких недель, но теперь она внезапно перестала работать 3 дня назад, в эту пятницу (03.11.2022), и я не могу понять причина.
Когда я импортирую библиотеку или любой из ее модулей, появляется следующая ошибка:
ImportError: cannot import name 'outcome_constraint_from_str' from 'ax.service.utils.instantiation' (/databricks/python/lib/python3.7/site-packages/ax/service/utils/instantiation.py)
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<command-719456472689071> in <module>
----> 1 import kats
2 dir(kats)
/databricks/python/lib/python3.7/site-packages/kats/__init__.py in <module>
1 from . import consts # noqa
----> 2 from . import utils # noqa
3 from . import detectors # noqa
4 from . import models # noqa
5 from . import tsfeatures # noqa
/databricks/python/lib/python3.7/site-packages/kats/utils/__init__.py in <module>
5 from . import parameter_tuning_utils # noqa
6 from . import simulator # noqa
----> 7 from . import time_series_parameter_tuning # noqa
/databricks/python/lib/python3.7/site-packages/kats/utils/time_series_parameter_tuning.py in <module>
36 from ax.modelbridge.registry import Models
37 from ax.runners.synthetic import SyntheticRunner
---> 38 from ax.service.utils.instantiation import (
39 outcome_constraint_from_str,
40 parameter_from_json,
ImportError: cannot import name 'outcome_constraint_from_str' from 'ax.service.utils.instantiation' (/databricks/python/lib/python3.7/site-packages/ax/service/utils/instantiation.py)
Проблема, похоже, связана с одной из зависимостей , которая, как и kats, также разработана facebook : платформа axe Я попытался переустановить и обновить как kats , так и платформу axe, и я не могу понять причину. Нет более старых версий , к которым можно вернуться, но я заметил на их странице github, что функция «outcome_constraint_from_str» претерпела некоторые изменения незадолго до даты, когда она перестала работать. https://github.com/facebook/Ax/commit/7510bbd90d29702727a6185ad670d5bed2d1f8e5
Может это просто баг какой-то новой выпущенной модификации?
3 ответа
Пробовал ставить предыдущую версию аксе-платформы и кац импортировал корректно. На сегодняшний день (14.03.2022) это решило проблему:
pip install ax-platform==0.2.3
Нет старых версий, к которым можно было бы вернуться
Есть две версии библиотеки Kats.
• Kats 101, базовая структура данных и функциональные возможности Kats
• Kats 20x, расширенные темы, в том числе передовые методы прогнозирования, расширенные алгоритмы обнаружения, TsFeatures, метаобучение, глобальная модель и т. д.
Попробуйте установить предыдущую версию библиотеки Kats, а затем вы можете попробовать.
Обратитесь к этой ссылке github
Последний ответ с https://github.com/facebookresearch/Kats/issues/216:
«это связано с недавним изменением библиотеки платформы axe, которая переместила некоторые API в новый модуль, самое простое решение — установить их новейшую версию v0.2.4, см. страницу Github здесь: https://github.com/facebook /топор
Мы работаем над выпуском новой версии Kats, которая ограничит версию топора 0.2.4 или выше для будущей установки. На данный момент, пожалуйста, обновите версию вашей платформы axe и установите Kats из исходного кода, если хотите. Спасибо."
Однако ни v0.2.4, ни 0.2.3, как упоминал @9879ypxkj, у меня не работают.