Το στοιχείο Pusher στο TensorFlow Extended (TFX) είναι ένα θεμελιώδες μέρος του αγωγού TFX που χειρίζεται την ανάπτυξη εκπαιδευμένων μοντέλων σε διάφορα περιβάλλοντα-στόχους. Οι στόχοι ανάπτυξης για το στοιχείο Pusher στο TFX είναι ποικίλοι και ευέλικτοι, επιτρέποντας στους χρήστες να αναπτύξουν τα μοντέλα τους σε διαφορετικές πλατφόρμες ανάλογα με τις συγκεκριμένες απαιτήσεις τους. Σε αυτήν την απάντηση, θα διερευνήσουμε ορισμένους από τους κοινούς στόχους ανάπτυξης για το στοιχείο Pusher και θα παρέχουμε μια περιεκτική εξήγηση για τον καθένα.
1. Τοπική ανάπτυξη:
Το στοιχείο Pusher υποστηρίζει τοπική ανάπτυξη, η οποία επιτρέπει στους χρήστες να αναπτύξουν τα εκπαιδευμένα μοντέλα τους στο τοπικό μηχάνημα. Αυτό είναι χρήσιμο για σκοπούς δοκιμής και ανάπτυξης, όπου το μοντέλο μπορεί να αναπτυχθεί και να αξιολογηθεί χωρίς την ανάγκη κατανεμημένου συστήματος ή εξωτερικής υποδομής. Η τοπική ανάπτυξη επιτυγχάνεται καθορίζοντας απλώς την τοπική διαδρομή όπου αποθηκεύονται τα τεχνουργήματα του μοντέλου.
Παράδειγμα:
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:
Το στοιχείο Pusher υποστηρίζει επίσης την ανάπτυξη στο Google Cloud AI Platform, μια διαχειριζόμενη υπηρεσία που παρέχει ένα περιβάλλον χωρίς διακομιστή για την εκτέλεση μοντέλων μηχανικής εκμάθησης. Αυτό επιτρέπει στους χρήστες να αναπτύξουν εύκολα τα μοντέλα τους στο cloud και να επωφεληθούν από την επεκτασιμότητα και την αξιοπιστία που προσφέρει το Google Cloud. Για να αναπτυχθούν στην πλατφόρμα Google Cloud AI, οι χρήστες πρέπει να δώσουν το αναγνωριστικό του έργου, το όνομα μοντέλου και το όνομα της έκδοσης.
Παράδειγμα:
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:
Το TensorFlow Serving είναι ένα σύστημα εξυπηρέτησης ανοιχτού κώδικα για την ανάπτυξη μοντέλων μηχανικής εκμάθησης. Το στοιχείο Pusher στο TFX υποστηρίζει την ανάπτυξη στην υπηρεσία TensorFlow, επιτρέποντας στους χρήστες να αναπτύξουν τα μοντέλα τους σε μια κατανεμημένη υποδομή εξυπηρέτησης. Αυτό επιτρέπει την εξυπηρέτηση μοντέλων υψηλής απόδοσης και κλιμάκωσης, καθιστώντας το κατάλληλο για ανάπτυξη παραγωγής. Για να αναπτυχθούν στην υπηρεσία TensorFlow, οι χρήστες πρέπει να παρέχουν τη διεύθυνση και τη θύρα του διακομιστή μοντέλου υπηρεσίας TensorFlow.
Παράδειγμα:
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. Άλλοι προσαρμοσμένοι στόχοι ανάπτυξης:
Το στοιχείο Pusher στο TFX έχει σχεδιαστεί για να είναι επεκτάσιμο, επιτρέποντας στους χρήστες να ορίζουν τους δικούς τους προσαρμοσμένους στόχους ανάπτυξης. Αυτό δίνει στους χρήστες την ευελιξία να αναπτύξουν τα μοντέλα τους σε οποιοδήποτε περιβάλλον ή σύστημα που μπορεί να καταναλώσει μοντέλα TensorFlow. Οι χρήστες μπορούν να εφαρμόσουν τη δική τους προσαρμοσμένη υποκλάση «PushDestination» και να την καταχωρήσουν με το στοιχείο Pusher για να επιτρέψουν την ανάπτυξη στο περιβάλλον στόχο τους.
Παράδειγμα:
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 στο TFX υποστηρίζει διάφορους στόχους ανάπτυξης, όπως τοπική ανάπτυξη, πλατφόρμα Google Cloud AI, υπηρεσία TensorFlow και προσαρμοσμένους στόχους ανάπτυξης. Αυτή η ευελιξία επιτρέπει στους χρήστες να αναπτύξουν τα εκπαιδευμένα μοντέλα τους σε διαφορετικά περιβάλλοντα ανάλογα με τις συγκεκριμένες ανάγκες και τη ρύθμιση της υποδομής τους.
Άλλες πρόσφατες ερωτήσεις και απαντήσεις σχετικά με Κατανεμημένη επεξεργασία και συστατικά:
- Ποιος είναι ο σκοπός του στοιχείου Evaluator στο TFX;
- Ποιοι είναι οι δύο τύποι SavedModels που δημιουργούνται από το στοιχείο Trainer;
- Πώς διασφαλίζει η συνιστώσα Transform τη συνέπεια μεταξύ των περιβαλλόντων εκπαίδευσης και εξυπηρέτησης;
- Ποιος είναι ο ρόλος του Apache Beam στο πλαίσιο TFX;