Repro
import evalml
Causa principal
get_importable_subclasses
intenta inicializar cada componenteget_importable_subclasses
para generar las listas estáticas de estimadores y componentes.Parece que deberíamos hacer todo lo posible para evitar generar advertencias en el momento de la importación.
Ideas para una solución
get_importable_subclasses
para que se generen en tiempo de ejecución, no en tiempo de importación. Es decir, en utilidades de componentesdef _all_estimators():
return get_importable_subclasses(Estimator, used_in_automl=False)
...
TextFeaturizer
para no generar esta advertencia en particular. Agregue la prueba unitaria para verificar que no haya advertencias.get_importable_subclasses
para suprimir cualquier advertencia proveniente de la inicialización del componenteSugiero que hagamos los puntos 1 y 2.
Cuando se fusionó # 1022, se eliminó la advertencia de tiempo de ejecución. Sin embargo, sigo viendo la siguiente advertencia:
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 Pondré el PR para hacer los puntos 1 y 2 como mencionaste anteriormente, pero @eccabay me ha informado que esta advertencia no viene de nuestra parte.
Después de discutir con @rwedge , parece haber dos soluciones a la advertencia de featuretools anterior:
utilizar el solucionador de dependencias beta
featuretools está en proceso de hacer que tensorflow sea opcional y se puede hacer antes del 8/12/2020
Sugiero que esperemos a que se publique la nueva función de herramientas y confirmemos si la advertencia sigue siendo un problema.
¡Gracias @jeremyliweishih ! Estoy de acuerdo en que la opción 2 aquí es la mejor para manejar la advertencia de featuretools.
Aparte de eso, tengo entendido que actualmente está trabajando en las opciones 1 y 2 de mi comentario de la semana pasada , ¿correcto? Creo que ambos cambios, particularmente el primero, agregarán valor aquí.
nlp-primitives 1.0 ya está disponible en pypi y tensorflow ya no es una dependencia requerida
Confirmado que la advertencia no aparece con la última versión de nlp-primitives
. ¡Gracias @rwedge! Puedes consultar aquí .
Impresionante, gracias a ambos!
Comentario más útil
nlp-primitives 1.0 ya está disponible en pypi y tensorflow ya no es una dependencia requerida