Pomoc chronić Wielkiej Rafy Koralowej z TensorFlow na Kaggle Dołącz Wyzwanie

Budowa rurociągów TFX

Korzystanie z Pipeline klasę

TFX rurociągi są definiowane przy użyciu Pipeline klasę . Poniższy przykład pokazuje, jak używać Pipeline klasę.

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

Zastąp następujące:

  • pipeline-name : Nazwa tego rurociągu. Nazwa potoku musi być unikalna.

    TFX używa nazwy potoku podczas wykonywania zapytań o metadane ML dla artefaktów wejściowych składników. Ponowne użycie nazwy potoku może spowodować nieoczekiwane zachowania.

  • pipeline-root : Ścieżka korzeń wyjść tego rurociągu. Ścieżka główna musi być pełną ścieżką do katalogu, do którego koordynator ma dostęp do odczytu i zapisu. W czasie wykonywania TFX używa katalogu głównego potoku do generowania ścieżek wyjściowych dla artefaktów składowych. Ten katalog może być lokalny lub w obsługiwanym rozproszonym systemie plików, takim jak Google Cloud Storage lub HDFS.

  • components : Lista przypadkach składowych, które tworzą obieg tego rurociągu.

  • enable-cache : (opcjonalnie). wartość logiczną wskazującą, czy gazociągu zastosowania buforowanie, aby przyspieszyć realizację rurociągu.

  • metadata-connection-config (Do wyboru). Konfiguracja połączeń dla ML metadane.

Definiowanie wykresu wykonania komponentu

Instancje komponentów generują artefakty jako dane wyjściowe i zazwyczaj zależą od artefaktów utworzonych przez wcześniejsze instancje komponentów jako dane wejściowe. Sekwencja wykonywania instancji komponentów jest określana przez utworzenie ukierunkowanego wykresu acyklicznego (DAG) zależności artefaktów.

Na przykład, ExampleGen standardowy komponent może łykać dane z pliku CSV i wyjściowe odcinkach przykładowych rekordów. StatisticsGen standardowy komponent akceptuje te przykładowe zapisy na wejściu i produkuje zestawu danych statystycznych. W tym przykładzie instancja StatisticsGen muszą przestrzegać ExampleGen ponieważ SchemaGen zależy na wyjściu ExampleGen .

Zależności zadaniowe

Można również zdefiniować zależności zadanie oparte na użyciu komponentu za add_upstream_node i add_downstream_node metod. add_upstream_node pozwala określić, że obecny komponent musi być wykonywane po upływie określonego składnika. add_downstream_node pozwala określić, że obecny komponent musi być wykonana przed określonego składnika.

Szablony potoku

Najłatwiejszym sposobem na szybkie skonfigurowanie potoku i sprawdzenie, jak wszystkie elementy do siebie pasują, jest użycie szablonu. Korzystanie z szablonów jest pokryta Budowanie TFX Pipeline Lokalnie .

Buforowanie

Buforowanie potoku TFX pozwala potoku pomijać składniki, które zostały wykonane z tym samym zestawem danych wejściowych w poprzednim uruchomieniu potoku. Jeśli buforowanie jest włączone, potok próbuje dopasować podpis każdego składnika, składnika i zestawu danych wejściowych, do jednego z poprzednich wykonań składnika tego potoku. Jeśli istnieje dopasowanie, potok używa danych wyjściowych składników z poprzedniego przebiegu. Jeśli nie ma dopasowania, komponent jest wykonywany.

Nie używaj buforowania, jeśli potok używa niedeterministycznych składników. Na przykład, jeśli utworzysz składnik w celu utworzenia liczby losowej dla potoku, włączenie pamięci podręcznej spowoduje, że ten składnik zostanie wykonany raz. W tym przykładzie kolejne przebiegi używają liczby losowej z pierwszego przebiegu zamiast generowania liczby losowej.