Evalml: Avertissement de fonctionnalité de texte lors de l'importation d'evalml

Créé le 3 août 2020  ·  7Commentaires  ·  Source: alteryx/evalml

Dans chaque bloc-notes user_guide - RTD produit un avertissement là où evalml est d'abord importé :

Exemple

La cause de ce problème est l'initialisation de chaque composant par get_importable_subclasses .

bug

Commentaire le plus utile

nlp-primitives 1.0 est maintenant disponible sur pypi et tensorflow n'est plus une dépendance requise

Tous les 7 commentaires

reproduction

import evalml

Trace de pile ici .

Cause première

  • get_importable_subclasses essaie d'initialiser chaque composant
  • Cela s'exécute au moment de l'importation car nous utilisons get_importable_subclasses pour générer les listes statiques d'estimateurs et de composants
  • La fonctionnalité de texte lève actuellement un avertissement si aucun nom de colonne de texte n'est fourni au constructeur

Il semble que nous devrions faire ce que nous pouvons pour éviter de déclencher des avertissements au moment de l'importation.

Idées pour un correctif

  1. Mettez à jour les listes générées par get_importable_subclasses pour qu'elles soient générées au moment de l'exécution, et non au moment de l'importation. C'est-à-dire dans les utilitaires de composants
def _all_estimators():
    return get_importable_subclasses(Estimator, used_in_automl=False)
...
  1. Assurez-vous qu'aucun de nos composants ne déclenche d'avertissements s'ils sont construits avec des arguments par défaut. Mettez TextFeaturizer jour
  2. Mettez get_importable_subclasses jour

Je suggère que nous fassions les éléments 1 et 2.

Lorsque #1022 a été fusionné - l'avertissement d'exécution a été supprimé. Cependant, je vois toujours l'avertissement suivant :

2020-08-11 12:17:34,559 featuretools - WARNING Featuretools failed to load plugin nlp_primitives from library nlp_primitives. For a full stack trace, set logging to debug.

@dsherry Je vais mettre en place le PR pour faire les éléments 1 et 2 comme vous l'avez mentionné ci-dessus, mais @eccabay m'a informé que cet avertissement ne vient pas de notre côté.

Après avoir discuté avec @rwedge, il semble y avoir deux solutions à l'avertissement de featuretools ci-dessus :

  1. utiliser le résolveur de dépendance beta

  2. featuretools est en train de rendre tensorflow facultatif et peut être fait d'ici le 12/08/2020 EOD

Je suggère d'attendre la nouvelle version de featuretools et de confirmer si l'avertissement est toujours un problème.

Merci @jeremyliweishih ! Je suis d'accord que l'option 2 ici est la meilleure pour gérer l'avertissement featuretools.

Cela mis à part, je crois comprendre que vous travaillez actuellement sur les options 1 et 2 de mon commentaire de la semaine dernière , n'est-ce pas ? Je pense que ces deux changements, en particulier le premier, apporteront une valeur ajoutée ici.

nlp-primitives 1.0 est maintenant disponible sur pypi et tensorflow n'est plus une dépendance requise

Confirmé que l'avertissement ne s'affiche pas avec la dernière version de nlp-primitives . Merci @rwedge ! Vous pouvez vérifier ici .

Génial, merci à tous les deux !

Cette page vous a été utile?
0 / 5 - 0 notes