Komponent potoku SchemaGen TFX

Niektóre komponenty TFX używają opisu danych wejściowych zwanego schematem . Schemat jest instancją schema.proto . Może określać typy danych dla wartości cech, czy cecha musi być obecna we wszystkich przykładach, dozwolone zakresy wartości i inne właściwości. Komponent potoku SchemaGen automatycznie wygeneruje schemat, wnioskując o typach, kategoriach i zakresach z danych szkoleniowych.

  • Zużywa: statystyki ze składnika StatisticsGen
  • Emisje: Proto schematu danych

Oto fragment schematu proto:

...
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
  }
}
...

Poniższe biblioteki TFX korzystają ze schematu:

  • Walidacja danych TensorFlow
  • Transformacja TensorFlow
  • Analiza modelu TensorFlow

W typowym potoku TFX SchemaGen generuje schemat, który jest używany przez inne komponenty potoku. Jednak automatycznie wygenerowany schemat jest najlepszym rozwiązaniem i próbuje jedynie wywnioskować podstawowe właściwości danych. Oczekuje się, że programiści przejrzą go i zmodyfikują w razie potrzeby.

Zmodyfikowany schemat można przywrócić do potoku za pomocą komponentu ImportSchemaGen. Komponent SchemaGen do początkowej generacji schematu można usunąć, a wszystkie dalsze komponenty mogą korzystać z danych wyjściowych ImportSchemaGen. Zalecane jest również dodanie narzędzia PrzykładValidator korzystającego z zaimportowanego schematu w celu ciągłego sprawdzania danych uczących.

Walidacja danych SchemaGen i TensorFlow

SchemaGen szeroko wykorzystuje weryfikację danych TensorFlow do wnioskowania o schemacie.

Korzystanie ze składnika SchemaGen

Do początkowej generacji schematu

Komponent potoku SchemaGen jest zazwyczaj bardzo łatwy do wdrożenia i wymaga niewielkiego dostosowywania. Typowy kod wygląda następująco:

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

Więcej szczegółów można znaleźć w dokumentacji API SchemaGen .

Dla sprawdzonego importu schematu

Dodaj komponent ImportSchemaGen do potoku, aby przenieść przejrzaną definicję schematu do potoku.

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

schema_file powinien być pełną ścieżką do pliku tekstowego protobuf.

Więcej szczegółów można znaleźć w dokumentacji interfejsu API ImportSchemaGen .