Article
· Avr 3 3m de lecture

Contourner l'incompatibilité de scikit-learn 1.6.0 dans IRIS 2024.3 AutoML

Introduction

Dans InterSystems IRIS 2024.3 et les versions ultérieures d'IRIS, le composant AutoML est désormais fourni sous forme de package Python distinct, installé après l'installation. Malheureusement, certaines versions récentes des packages Python sur lesquels AutoML s'appuie ont introduit des incompatibilités et peuvent entraîner des échecs lors de l'entraînement des modèles (instruction TRAIN MODEL). Si vous rencontrez une erreur mentionnant « TypeError » et l'argument de mot-clé « fit_params » ou « sklearn_tags », lisez la suite pour une solution rapide.

Cause principale

  • scikit-learn a été mis à jour vers la version 1.6.0, rendant ainsi fit_params obsolète.
  • scikeras ne met plus à jour les « wrappers » pour Tensorflow.
  • L'installation de ces packages dans IRIS 2024.3 sans dépendances épinglées entraîne des erreurs d'entraînement.

Symptômes

Vous pouvez rencontrer :

<TypeError>: got an unexpected keyword argument 'fit_params'

ou

[%msg: <ERROR #5002: ObjectScript error: <PYTHON EXCEPTION> *<class 'AttributeError'>: 'super' object has no attribute '__sklearn_tags__' [^%ML.AutoML.Provider.1:%SYS]>]

pendant la phase de formation du modèle.

Solution de contournement :

1. Désinstaller les packages existants (si nécessaire)

pip uninstall scikit-learn xgboost keras ...

 

2. Installer via Snapshot

pip install --index-url https://registry.intersystems.com/pypi/simple \
  --no-cache-dir \
  --target /path/to/iris/python \
  -r /path/to/requirementsSnapshot.txt

3. Vérifier

  • • Exécutez vos tests de détection de fumée pour confirmer l'absence d'erreurs fit_params.
  • • Assurez-vous que scikit-learn est épinglé à une version inférieure à 1.6.0.

Remarque : Les modalités d'obtention ou d'accès au fichier requirementsSnapshot.txt sont encore en discussion. Pour l'instant, veuillez contacter votre représentant InterSystems ou consulter la documentation officielle pour obtenir le lien ou le processus de distribution le plus récent.

Alternative : Épingler scikit-learn à une version inférieure à 1.6.0

Si vous préférez ne pas utiliser le fichier snapshot, vous pouvez épingler manuellement la version :

pip install scikit-learn<1.6.0 xgboost keras ...

Cela permettra de contourner le problème jusqu'à ce que XGBoost et Keras mettent officiellement à jour leurs packages.

Prochaines étapes

  • InterSystems a apporté des modifications au code AutoML afin de résoudre le problème dans les prochaines versions. Ce problème concerne principalement les conteneurs plus anciens, comme la version 2024.3, première version à utiliser la procédure de post-installation pour installer IntegratedML.
  • InterSystems publie une alerte client concernant les conteneurs IRIS 2024.3 ml (containers.intersystems.com/intersystems/iris-ml:2024.3), qui fait référence à cet article.
  • Si vous avez des questions ou rencontrez des problèmes, n'hésitez pas à laisser un commentaire ci-dessous ou à contacter votre contact du support InterSystems.

Ressources supplémentaires :

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer