TensorFlow Extendedin (TFX) Pusher-komponentti on olennainen osa TFX-putkistoa, joka hoitaa koulutettujen mallien käyttöönoton eri kohdeympäristöissä. TFX:n Pusher-komponentin käyttöönottokohteet ovat monipuolisia ja joustavia, joten käyttäjät voivat ottaa mallinsa käyttöön eri alustoilla erityisvaatimustensa mukaan. Tässä vastauksessa tutkimme joitain Pusher-komponentin yleisiä käyttöönottokohteita ja annamme kattavan selityksen jokaisesta.
1. Paikallinen käyttöönotto:
Pusher-komponentti tukee paikallista käyttöönottoa, jonka avulla käyttäjät voivat ottaa käyttöön koulutetut mallinsa paikallisessa koneessa. Tämä on hyödyllistä testaus- ja kehitystarkoituksiin, joissa mallia voidaan ottaa käyttöön ja arvioida ilman hajautetun järjestelmän tai ulkoisen infrastruktuurin tarvetta. Paikallinen käyttöönotto saavutetaan yksinkertaisesti määrittämällä paikallinen polku, johon mallin artefaktit on tallennettu.
Esimerkiksi:
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 -alusta:
Pusher-komponentti tukee myös käyttöönottoa Google Cloud AI Platformissa, hallitussa palvelussa, joka tarjoaa palvelimettoman ympäristön koneoppimismallien suorittamiseen. Näin käyttäjät voivat helposti ottaa mallinsa käyttöön pilvessä ja hyödyntää Google Cloudin tarjoamaa skaalautuvuutta ja luotettavuutta. Käyttääkseen käyttöönottoa Google Cloud AI Platformissa käyttäjien on annettava projektin tunnus, mallin nimi ja version nimi.
Esimerkiksi:
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-tarjoilu:
TensorFlow Serving on avoimen lähdekoodin palvelujärjestelmä koneoppimismallien käyttöönottoon. TFX:n Pusher-komponentti tukee TensorFlow Servingin käyttöönottoa, jolloin käyttäjät voivat ottaa mallinsa käyttöön hajautettuun palveluinfrastruktuuriin. Tämä mahdollistaa korkean suorituskyvyn ja skaalautuvan mallipalvelun, mikä tekee siitä sopivan tuotantokäyttöön. TensorFlow Servingin käyttöönottoa varten käyttäjien on annettava TensorFlow Serving -mallipalvelimen osoite ja portti.
Esimerkiksi:
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. Muut mukautetut käyttöönottokohteet:
TFX:n Pusher-komponentti on suunniteltu laajennettavaksi, jolloin käyttäjät voivat määrittää omia mukautettuja käyttöönottokohteitaan. Tämä antaa käyttäjille joustavuuden ottaa mallinsa käyttöön missä tahansa ympäristössä tai järjestelmässä, joka voi käyttää TensorFlow-malleja. Käyttäjät voivat ottaa käyttöön oman mukautetun PushDestination-aliluokkansa ja rekisteröidä sen Pusher-komponenttiin mahdollistaakseen käyttöönoton kohdeympäristöönsä.
Esimerkiksi:
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') )
TFX:n Pusher-komponentti tukee erilaisia käyttöönottokohteita, kuten paikallista käyttöönottoa, Google Cloud AI -alustaa, TensorFlow Serving -palvelua ja mukautettuja käyttöönottokohteita. Tämän joustavuuden ansiosta käyttäjät voivat ottaa käyttöön koulutetut mallinsa eri ympäristöissä erityistarpeidensa ja infrastruktuurin asennuksen mukaan.
Muita viimeaikaisia kysymyksiä ja vastauksia liittyen Hajautettu käsittely ja komponentit:
- Mikä on Evaluator-komponentin tarkoitus TFX:ssä?
- Mitkä ovat Trainer-komponentin luomat SavedModels-mallit?
- Miten Transform-komponentti varmistaa johdonmukaisuuden koulutus- ja palveluympäristöjen välillä?
- Mikä on Apache Beamin rooli TFX-kehyksessä?