Whatsapp Telegram Telegram Call Anrufen

Einführung in TensorFlow Extended (TFX)


1. Was ist TFX?

TensorFlow Extended (TFX) ist eine umfassende End-to-End-Plattform für maschinelles Lernen, die darauf abzielt, den gesamten Lebenszyklus eines ML-Modells zu verwalten. Es wurde von Google entwickelt und nutzt die Leistungsfähigkeit von TensorFlow, um die Erstellung, das Training, die Bereitstellung und das Management von maschinellen Lernmodellen in Produktionsumgebungen zu erleichtern. TFX hilft dabei, die Skalierbarkeit, Zuverlässigkeit und Effizienz von ML-Workflows zu verbessern.

2. Hauptziele von TFX:

  1. Automatisierung: Automatisierung der Schritte im ML-Lebenszyklus, um menschliche Fehler zu minimieren und die Effizienz zu maximieren.
  2. Skalierbarkeit: Unterstützung großer Datensätze und Modelle, die in verteilten Umgebungen ausgeführt werden.
  3. Reproduzierbarkeit: Sicherstellung, dass ML-Experimente reproduzierbare Ergebnisse liefern.
  4. Produktionseinsatz: Bereitstellung robuster Werkzeuge für den Einsatz von ML-Modellen in Produktionssystemen.

3. Komponenten von TFX

TFX besteht aus mehreren integrierten Komponenten, die verschiedene Schritte im ML-Lebenszyklus abdecken. Hier sind die Hauptkomponenten von TFX:

3.1 ExampleGen


Funktion: Ingestiert und fragmentiert die Daten, die für das Training und die Evaluierung des Modells verwendet werden.

Beispiel:
from tfx.components import CsvExampleGen
from tfx.orchestration.experimental.interactive.interactive_context import InteractiveContext

context = InteractiveContext()
example_gen = CsvExampleGen(input_base='path/to/csv/files')
context.run(example_gen)


3.2 StatisticsGen


Funktion: Berechnet Statistiken über die Eingabedaten, um ein besseres Verständnis und eine bessere Verwaltung der Datenqualität zu ermöglichen.
Beispiel:

from tfx.components import StatisticsGen

statistics_gen = StatisticsGen(examples=example_gen.outputs['examples'])
context.run(statistics_gen)


3.3 SchemaGen


Funktion: Generiert ein Schema basierend auf den Statistiken der Eingabedaten, das zur Validierung und Transformation der Daten verwendet wird.
Beispiel:

from tfx.components import SchemaGen

schema_gen = SchemaGen(statistics=statistics_gen.outputs['statistics'])
context.run(schema_gen)


3.4 ExampleValidator:


Funktion: Validiert die Eingabedaten gegen das generierte Schema, um Anomalien und Datenprobleme zu erkennen.
Beispiel:

from tfx.components import ExampleValidator

example_validator = ExampleValidator(statistics=statistics_gen.outputs['statistics'],
                                     schema=schema_gen.outputs['schema'])
context.run(example_validator)


3.5 Transform


Funktion: Transformiert die Daten entsprechend dem Schema und bereitet sie für das Training vor.
Beispiel:

from tfx.components import Transform
from tfx.components.transform import executor

def preprocessing_fn(inputs):
    import tensorflow_transform as tft
    outputs = inputs.copy()
    outputs['feature'] = tft.scale_to_z_score(inputs['feature'])
    return outputs

transform = Transform(examples=example_gen.outputs['examples'],
                      schema=schema_gen.outputs['schema'],
                      preprocessing_fn=preprocessing_fn)
context.run(transform)


3.6 Trainer


Funktion: Trainiert das ML-Modell mit den transformierten Daten.
Beispiel:

from tfx.components import Trainer
from tfx.proto import trainer_pb2

trainer = Trainer(
    module_file='path/to/training_module.py',
    examples=transform.outputs['transformed_examples'],
    schema=schema_gen.outputs['schema'],
    transform_graph=transform.outputs['transform_graph'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000)
)
context.run(trainer)


3.7 Tuner


Funktion: Optimiert die Hyperparameter des Modells, um die bestmögliche Leistung zu erzielen.
Beispiel:

from tfx.components import Tuner
from tfx.proto import tuner_pb2

tuner = Tuner(
    module_file='path/to/tuning_module.py',
    examples=transform.outputs['transformed_examples'],
    transform_graph=transform.outputs['transform_graph'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000)
)
context.run(tuner)


3.8 Evaluator


Funktion: Bewertet die Leistung des Modells anhand der Evaluierungsdaten und definiert Metriken.
Beispiel:

from tfx.components import Evaluator

eval_config = evaluator_pb2.EvalConfig(
    model_specs=[evaluator_pb2.ModelSpec(signature_name='eval')],
    slicing_specs=[evaluator_pb2.SlicingSpec()],
    metrics_specs=[evaluator_pb2.MetricsSpec(metrics=[
        evaluator_pb2.MetricConfig(class_name='AUC')])]
)

evaluator = Evaluator(
    examples=example_gen.outputs['examples'],
    model_exports=trainer.outputs['model'],
    eval_config=eval_config
)
context.run(evaluator)


3.9 Pusher


Funktion: Bereitstellung des trainierten Modells in einer Produktionsumgebung.
Beispiel:

from tfx.components import Pusher
from tfx.proto import pusher_pb2

pusher = Pusher(
    model=trainer.outputs['model'],
    push_destination=pusher_pb2.PushDestination(
        filesystem=pusher_pb2.PushDestination.Filesystem(
            base_directory='path/to/serving/model'
        )
    )
)
context.run(pusher)


Mit diesen detaillierten Erklärungen und Beispielen können Sie die Grundlagen von TensorFlow Extended (TFX) verstehen und lernen, wie Sie die verschiedenen Komponenten zur Erstellung und Verwaltung von ML-Workflows in Produktionsumgebungen verwenden. TFX bietet eine leistungsfähige Plattform zur Automatisierung und Optimierung des gesamten Lebenszyklus eines maschinellen Lernmodells.


CEO Image

Ali Ajjoub

info@ajjoub.com

Adresse 0049-15773651670

Adresse Jacob-winter-platz,1 01239 Dresden

Buchen Sie jetzt Ihren Termin für eine umfassende und individuelle Beratung.

Termin Buchen

Kontaktieren Sie uns

Lassen Sie uns K o n t a k t aufnehmen!