Alguns componentes TFX usar uma descrição de seus dados de entrada chamados um 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 irá 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 protótipo 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
- TensorFlow Transform
- Análise de modelo do 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 tenta apenas inferir as 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 para o 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 para adicionar ExampleValidator usando o esquema importado para examinar os dados de treinamento continuamente.
Validação de dados SchemaGen e TensorFlow
SchemaGen faz uso extensivo de TensorFlow validação de dados 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 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 de texto protobuf.
Mais detalhes estão disponíveis na referência API ImportSchemaGen .