Sintonize-se com as primeiras mulheres em ML Simpósio esta terça-feira 19 out às 9h PST Register now

Configuração da análise do modelo do Tensorflow

Configuração

TFMA armazena sua configuração em um proto que é serializado para JSON. Este proto consolida a configuração necessária para dados de entrada, dados de saída, especificações de modelo, especificações métricas e especificações de fracionamento.

Todos os pipelines TFMA estão associados a um modelo de linha de base (primário) e zero ou mais modelos candidatos (secundários). A linha de base e o modelo candidato são definidos pelo usuário no início do pipeline e cada um requer um nome exclusivo. A seguir estão exemplos de configurações típicas que um usuário pode usar:

  • Avaliação de modelo único:
    • N / A (ou seja, sem nome)
  • Avaliação baseada em validação:
    • baseline
    • candidate
  • Avaliação de comparação de modelo:
    • my_model_a
    • my_model_b

Especificações do modelo

As especificações do modelo são do tipo tfma.ModelSpec e são usadas para definir a localização de um modelo, bem como outros parâmetros específicos do modelo. Por exemplo, a seguir estão as configurações típicas que precisam ser definidas antes de executar uma avaliação:

  • name - nome do modelo (se forem usados ​​vários modelos)
  • signature_name - nome da assinatura usada para previsões (o padrão é serving_default ) Use eval se estiver usando um EvalSavedModel.
  • label_key - nome do recurso associado ao rótulo.
  • example_weight_key - nome do recurso associado ao peso do exemplo.

Especificações de métricas

As especificações de métricas são do tipo tfma.MetricsSpec e são usadas para configurar as métricas que serão calculadas como parte da avaliação. Diferentes problemas de aprendizado de máquina usam diferentes tipos de métricas e o TFMA oferece muitas opções para configurar e personalizar as métricas que são calculadas. Uma vez que as métricas são uma parte muito grande do TFMA, elas são discutidas em detalhes separadamente nas métricas .

Especificações de corte

As especificações de tfma.SlicingSpec são do tipo tfma.SlicingSpec e são usadas para configurar os critérios de fatias que serão usados ​​durante a avaliação. O fatiamento pode ser feito por feature_keys , feature_values ou ambos. Alguns exemplos de especificações de fatiamento são os seguintes:

  • {}
    • Fatia que consiste em dados gerais.
  • { feature_keys: ["country"] }
    • Fatias para todos os valores no recurso "país". Por exemplo, podemos obter fatias "country: us", "country: jp", etc.
  • { feature_values: [{key: "country", value: "us"}] }
    • Fatia que consiste em "país: nós".
  • { feature_keys: ["country", "city"] }
    • Fatias para todos os valores no recurso "país" cruzadas com todos os valores no recurso "cidade" (observe que isso pode ser caro).
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • Fatias para todos os valores no recurso "país" cruzadas com o valor "idade: 20"

Observe que as teclas de recurso podem ser recursos transformados ou recursos de entrada brutos. Consulte tfma.SlicingSpec para obter mais informações.

EvalSharedModel

Além das definições de configuração, o TFMA também requer que uma instância de um tfma.EvalSharedModel seja criada para compartilhar um modelo entre vários threads no mesmo processo. A instância do modelo compartilhado inclui informações sobre o tipo de modelo (keras, etc) e como carregar e configurar o modelo de seu local salvo no disco (por exemplo, tags, etc). A API tfma.default_eval_shared_model pode ser usada para criar uma instância padrão, dado um caminho e um conjunto de tags.