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 .