Pusher-komponenten i TensorFlow Extended (TFX) er en grundlæggende del af TFX-pipelinen, der håndterer udrulningen af trænede modeller til forskellige målmiljøer. Implementeringsmålene for Pusher-komponenten i TFX er forskellige og fleksible, hvilket giver brugerne mulighed for at implementere deres modeller til forskellige platforme afhængigt af deres specifikke krav. I dette svar vil vi udforske nogle af de almindelige implementeringsmål for Pusher-komponenten og give en omfattende forklaring af hver.
1. Lokal implementering:
Pusher-komponenten understøtter lokal implementering, som giver brugerne mulighed for at implementere deres trænede modeller på den lokale maskine. Dette er nyttigt til test- og udviklingsformål, hvor modellen kan implementeres og evalueres uden behov for et distribueret system eller ekstern infrastruktur. Lokal implementering opnås ved blot at angive den lokale sti, hvor modelartefakterne er gemt.
Eksempel:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( filesystem=pusher_pb2.PushDestination.Filesystem( base_directory='/path/to/local/deployment' ) ) )
2. Google Cloud AI-platform:
Pusher-komponenten understøtter også implementering til Google Cloud AI Platform, en administreret tjeneste, der giver et serverløst miljø til at køre maskinlæringsmodeller. Dette giver brugerne mulighed for nemt at implementere deres modeller til skyen og drage fordel af den skalerbarhed og pålidelighed, som Google Cloud tilbyder. For at implementere til Google Cloud AI Platform skal brugerne angive projekt-id, modelnavn og versionsnavn.
Eksempel:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( ai_platform_push=pusher_pb2.PushDestination.AIPlatformPush( project_id='my-project', model_id='my-model', version_id='v1' ) ) )
3. TensorFlow-servering:
TensorFlow Serving er et open source-serveringssystem til implementering af maskinlæringsmodeller. Pusher-komponenten i TFX understøtter implementering til TensorFlow Serving, hvilket giver brugerne mulighed for at implementere deres modeller til en distribueret serveringsinfrastruktur. Dette muliggør højtydende og skalerbar modelservering, hvilket gør den velegnet til produktionsinstallationer. For at implementere til TensorFlow Serving skal brugerne angive TensorFlow Serving-modelserverens adresse og port.
Eksempel:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( tensorflow_serving=pusher_pb2.PushDestination.TensorFlowServing( tags=['serve'], server='localhost:8500' ) ) )
4. Andre tilpassede implementeringsmål:
Pusher-komponenten i TFX er designet til at kunne udvides, så brugerne kan definere deres egne brugerdefinerede implementeringsmål. Dette giver brugerne fleksibiliteten til at implementere deres modeller til ethvert miljø eller system, der kan forbruge TensorFlow-modeller. Brugere kan implementere deres egen tilpassede "PushDestination"-underklasse og registrere den med Pusher-komponenten for at muliggøre implementering til deres målmiljø.
Eksempel:
python class MyCustomPushDestination(pusher_pb2.PushDestination): def __init__(self, my_custom_arg): self.my_custom_arg = my_custom_arg pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=MyCustomPushDestination(my_custom_arg='custom_value') )
Pusher-komponenten i TFX understøtter forskellige implementeringsmål, herunder lokal implementering, Google Cloud AI Platform, TensorFlow Serving og tilpassede implementeringsmål. Denne fleksibilitet giver brugerne mulighed for at implementere deres trænede modeller til forskellige miljøer afhængigt af deres specifikke behov og infrastrukturopsætning.
Andre seneste spørgsmål og svar vedr Distribueret behandling og komponenter:
- Hvad er formålet med Evaluator-komponenten i TFX?
- Hvad er de to typer SavedModels, der genereres af Trainer-komponenten?
- Hvordan sikrer Transform-komponenten sammenhæng mellem trænings- og serveringsmiljøer?
- Hvad er Apache Beams rolle i TFX-rammen?