Path: blob/master/site/pt-br/tfx/guide/trainer.md
25118 views
O componente de pipeline Trainer TFX
O componente de pipeline Trainer TFX treina um modelo do TensorFlow.
Trainer e TensorFlow
O Trainer faz uso extensivo da API Python TensorFlow para treinar modelos.
Observação: o TFX oferece suporte ao TensorFlow 1.15 e 2.x.
Componente
O Trainer recebe:
tf.Examples usados para treinamento e avaliação.
Um arquivo de módulo fornecido pelo usuário que define a lógica do treinador.
Definição protobuf de argumentos de treinamento e avaliação.
(Opcional) Um esquema de dados criado por um componente de pipeline SchemaGen e opcionalmente alterado pelo desenvolvedor.
(Opcional) grafo de transformação produzido por um componente Transform em etapa anterior do pipeline.
(Opcional) modelos pré-treinados usados para cenários como warmstart.
(Opcional) Hiperparâmetros, que serão passados para a função do módulo do usuário. Detalhes da integração com o Tuner podem ser encontrados aqui.
O Trainer produz: pelo menos um modelo para inferência/exibição (normalmente em SavedModelFormat) e opcionalmente outro modelo para avaliação (normalmente um EvalSavedModel).
Fornecemos suporte para formatos de modelo alternativos, como TFLite, por meio da Model Rewriting Library. Siga o link para a Model Rewriting Library para exemplos de como converter modelos Estimator e Keras.
Trainer genérico
Um Trainer genérico permite que os desenvolvedores usem qualquer API de modelo do TensorFlow com o componente Trainer. Além dos Estimators do TensorFlow, os desenvolvedores podem usar modelos Keras ou loops de treinamento personalizados. Para mais detalhes, veja a RFC para trainer genérico.
Configurando o componente Trainer
O código DSL de pipeline típico para o Trainer genérico é o seguinte:
O Trainer invoca um módulo de treinamento, que é especificado no parâmetro module_file
(arquivo de módulo). Em vez de trainer_fn
, um run_fn
será necessário no arquivo do módulo se GenericExecutor
for especificado em custom_executor_spec
. O trainer_fn
foi o responsável pela criação do modelo. Além disso, run_fn
também precisa cuidar da parte de treinamento e enviar o modelo treinado para o local desejado fornecido por FnArgs:
Eis um exemplo de arquivo de módulo com run_fn
.
Observe que se o componente Transform não for usado no pipeline, o Trainer pegaria os exemplos diretamente do ExampleGen:
Mais detalhes estão disponíveis na referência da API Trainer.