Evalml: Aviso de recurso de texto na importação evalml

Criado em 3 ago. 2020  ·  7Comentários  ·  Fonte: alteryx/evalml

Em cada caderno user_guide - o RTD produz um aviso sempre que evalml é importado pela primeira vez:

Exemplo

A causa deste problema é get_importable_subclasses inicializar todos os componentes.

bug

Comentários muito úteis

nlp-primitives 1.0 está disponível em pypi agora e tensorflow não é mais uma dependência necessária

Todos 7 comentários

Repro

import evalml

Rastreamento de pilha aqui .

Causa raiz

  • get_importable_subclasses tenta inicializar todos os componentes
  • Isso é executado no momento da importação porque usamos get_importable_subclasses para gerar as listas estáticas de estimadores e componentes
  • O caracterizador de texto atualmente levanta um aviso se nenhum nome de coluna de texto for fornecido pelo construtor

Parece que devemos fazer o possível para evitar o aumento de avisos no momento da importação.

Ideias para uma solução

  1. Atualize as listas geradas por get_importable_subclasses para serem geradas em tempo de execução, não em tempo de importação. Ou seja, em utilitários de componentes
def _all_estimators():
    return get_importable_subclasses(Estimator, used_in_automl=False)
...
  1. Certifique-se de que nenhum de nossos componentes gere avisos se eles forem construídos com argumentos padrão. Atualize TextFeaturizer para não levantar este aviso específico. Adicione teste de unidade para verificar se não há avisos.
  2. Atualize get_importable_subclasses para suprimir quaisquer avisos provenientes da inicialização do componente

Eu sugiro que façamos os itens 1 e 2.

Quando o # 1022 foi mesclado - o aviso de tempo de execução foi removido. No entanto, ainda estou vendo o seguinte aviso:

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 vou colocar o PR para fazer os itens 1 e 2 como você mencionou acima, mas @eccabay me informou que esse aviso não vem de nossa parte.

Depois de discutir com @rwedge , parece haver duas soluções para o aviso de

  1. use o resolvedor de dependência beta

  2. featuretools está em processo de tornar o tensorflow opcional e pode ser feito por EOD 12/08/2020

Sugiro que esperemos pelo lançamento do novo recurso de ferramentas e confirme se o aviso ainda é um problema.

Obrigado @jeremyliweishih ! Concordo que a opção 2 aqui é a melhor para lidar com o aviso de ferramentas de recursos.

Deixando isso de lado, meu entendimento é que você está trabalhando atualmente nas opções 1 e 2 do meu comentário da semana passada , correto? Eu acho que ambas as mudanças, particularmente a primeira, irão agregar valor aqui.

nlp-primitives 1.0 está disponível em pypi agora e tensorflow não é mais uma dependência necessária

Confirmado que o aviso não aparece com a versão mais recente de nlp-primitives . Obrigado @rwedge! Você pode verificar aqui .

Incrível, obrigado a ambos!

Esta página foi útil?
0 / 5 - 0 avaliações