Alguns componentes do TFX usam uma descrição dos seus dados de entrada chamada esquema . O esquema é uma instância de schema.proto . Ele pode especificar tipos de dados para valores de recursos, se um recurso deve estar presente em todos os exemplos, intervalos de valores permitidos e outras propriedades. Um componente de pipeline SchemaGen gerará automaticamente um esquema inferindo tipos, categorias e intervalos dos dados de treinamento.
- Consome: estatísticas de um componente StatisticsGen
- Emite: Protocolo de esquema de dados
Aqui está um trecho de um proto de esquema:
...
feature {
name: "age"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
feature {
name: "capital-gain"
value_count {
min: 1
max: 1
}
type: FLOAT
presence {
min_fraction: 1
min_count: 1
}
}
...
As seguintes bibliotecas TFX usam o esquema:
- Validação de dados do TensorFlow
- Transformação TensorFlow
- Análise do modelo TensorFlow
Em um pipeline TFX típico, o SchemaGen gera um esquema, que é consumido pelos outros componentes do pipeline. No entanto, o esquema gerado automaticamente é o melhor esforço e apenas tenta inferir propriedades básicas dos dados. Espera-se que os desenvolvedores o revisem e modifiquem conforme necessário.
O esquema modificado pode ser trazido de volta ao pipeline usando o componente ImportSchemaGen. O componente SchemaGen para a geração inicial do esquema pode ser removido e todos os componentes downstream podem usar a saída de ImportSchemaGen. Também é recomendado adicionar ExampleValidator usando o esquema importado para examinar os dados de treinamento continuamente.
Validação de dados SchemaGen e TensorFlow
SchemaGen faz uso extensivo da validação de dados do TensorFlow para inferir um esquema.
Usando o componente SchemaGen
Para a geração inicial do esquema
Um componente de pipeline SchemaGen normalmente é muito fácil de implantar e requer pouca personalização. O código típico é assim:
schema_gen = tfx.components.SchemaGen(
statistics=stats_gen.outputs['statistics'])
Mais detalhes estão disponíveis na referência da API SchemaGen .
Para a importação do esquema revisado
Adicione o componente ImportSchemaGen ao pipeline para trazer a definição de esquema revisada para o pipeline.
schema_gen = tfx.components.ImportSchemaGen(
schema_file='/some/path/schema.pbtxt')
O schema_file
deve ser um caminho completo para o arquivo protobuf de texto.
Mais detalhes estão disponíveis na referência da API ImportSchemaGen .