Αυτή η ανάρτηση ιστολογίου συντάχθηκε από τους Jonathan Lee, Nelson Leung, Paul Min και Troy Squillaci από την Intel.
In Μέρος 1 αυτής της ανάρτησης, συζητήσαμε πώς συνεργάστηκε η Intel®3DAT AWS Machine Learning Professional Services (MLPS) για τη δημιουργία μιας κλιμακούμενης εφαρμογής AI SaaS. Το 3DAT χρησιμοποιεί όραση υπολογιστή και τεχνητή νοημοσύνη για να αναγνωρίζει, να παρακολουθεί και να αναλύει πάνω από 1,000 σημεία εμβιομηχανικών δεδομένων από τυπικό βίντεο. Επιτρέπει στους πελάτες να δημιουργούν πλούσια και ισχυρά προϊόντα με γνώμονα την εμβιομηχανική, όπως εφαρμογές ιστού και κινητές συσκευές με λεπτομερή δεδομένα απόδοσης και τρισδιάστατες απεικονίσεις.
Στο Μέρος 2 αυτής της ανάρτησης, βουτάμε βαθύτερα σε κάθε στάδιο της αρχιτεκτονικής. Εξερευνούμε τις υπηρεσίες AWS που χρησιμοποιούνται για την κάλυψη των απαιτήσεων σχεδιασμού 3DAT, συμπεριλαμβανομένων Ροές δεδομένων Amazon Kinesis και Υπηρεσία Amazon Elastic Kubernetes (Amazon EKS), προκειμένου να αναπτυχθούν κλιμακωτά τα απαραίτητα μοντέλα εκτίμησης πόζας για αυτό το λογισμικό ως εφαρμογή υπηρεσίας (SaaS).
Επισκόπηση αρχιτεκτονικής
Ο πρωταρχικός στόχος της ομάδας MLPS ήταν να παραγωγοποιήσει τους αγωγούς μοντέλων εκτίμησης πόζας 2D και 3D και να δημιουργήσει μια λειτουργική και επεκτάσιμη εφαρμογή. Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσης.
Η πλήρης αρχιτεκτονική αναλύεται σε πέντε κύρια στοιχεία:
- Επίπεδα διεπαφής εφαρμογής χρήστη
- βάση δεδομένων
- Ενορχήστρωση ροής εργασιών
- Κλιμακόμενη δημιουργία συμπεράσματος εκτίμησης πόζας
- Λειτουργική παρακολούθηση
Ας δούμε αναλυτικά κάθε στοιχείο, τις αλληλεπιδράσεις τους και το σκεπτικό πίσω από τις σχεδιαστικές επιλογές.
Επίπεδα διεπαφής εφαρμογής χρήστη
Το παρακάτω διάγραμμα δείχνει τα επίπεδα διεπαφής εφαρμογής που παρέχουν πρόσβαση στον χρήστη και έλεγχο της εφαρμογής και των πόρων της.
Αυτά τα σημεία πρόσβασης υποστηρίζουν διαφορετικές περιπτώσεις χρήσης που βασίζονται σε διαφορετικά χαρακτηριστικά πελατών. Για παράδειγμα, ένας χρήστης εφαρμογής μπορεί να υποβάλει μια εργασία μέσω του CLI, ενώ ένας προγραμματιστής μπορεί να δημιουργήσει μια εφαρμογή χρησιμοποιώντας το Python SDK και να ενσωματώσει νοημοσύνη εκτίμησης πόζας στις εφαρμογές του. Το CLI και το SDK είναι κατασκευασμένα ως αρθρωτά στοιχεία—και τα δύο επίπεδα είναι περιτυλίγματα του επιπέδου API, το οποίο έχει δημιουργηθεί χρησιμοποιώντας Amazon API Gateway για την επίλυση των κλήσεων API και συσχετισμένο AWS Lambda λειτουργίες, οι οποίες φροντίζουν για τη λογική του backend που σχετίζεται με κάθε κλήση API. Αυτά τα επίπεδα ήταν ένα κρίσιμο στοιχείο για την ομάδα Intel OTG επειδή ανοίγει μια ευρεία βάση πελατών που μπορούν να χρησιμοποιήσουν αποτελεσματικά αυτήν την εφαρμογή SaaS.
Επίπεδο API
Η λύση έχει ένα βασικό σύνολο εννέα API, τα οποία αντιστοιχούν στους τύπους αντικειμένων που λειτουργούν σε αυτήν την πλατφόρμα. Κάθε API έχει ένα αρχείο Python που ορίζει τις ενέργειες API που μπορούν να εκτελεστούν. Στη δημιουργία νέων αντικειμένων εκχωρείται αυτόματα ένα αναγνωριστικό αντικειμένου διαδοχικά. Τα χαρακτηριστικά αυτών των αντικειμένων αποθηκεύονται και παρακολουθούνται στο Χωρίς διακομιστή Amazon Aurora βάση δεδομένων χρησιμοποιώντας αυτό το αναγνωριστικό. Επομένως, οι ενέργειες API συνδέονται με συναρτήσεις που ορίζονται σε ένα κεντρικό αρχείο που περιέχει τη λογική υποστήριξης για την υποβολή ερωτημάτων στη βάση δεδομένων Aurora. Αυτή η λογική υποστήριξης χρησιμοποιεί το Boto3 Πελάτης Amazon RDS DataService για πρόσβαση στο σύμπλεγμα βάσης δεδομένων.
Η μόνη εξαίρεση είναι η /job
API, το οποίο έχει ένα create_job
μέθοδος που χειρίζεται την υποβολή βίντεο για τη δημιουργία μιας νέας εργασίας επεξεργασίας. Αυτή η μέθοδος ξεκινά το Λειτουργίες βημάτων AWS λογική ροής εργασιών για την εκτέλεση της εργασίας. Περνώντας σε α job_id
, αυτή η μέθοδος χρησιμοποιεί το Boto3 Βήμα Λειτουργίες πελάτη για να καλέσετε το start_execution
μέθοδος για μια καθορισμένη stateMachineARN
(Όνομα πόρου Amazon).
Τα οκτώ API αντικειμένων έχουν τις μεθόδους και παρόμοιο μοτίβο πρόσβασης όπως συνοψίζονται στον παρακάτω πίνακα.
Τύπος μεθόδου | Όνομα συνάρτησης | Περιγραφή |
ΠΑΡΤΕ | list_[object_name]s |
Επιλέγει όλα τα αντικείμενα αυτού του τύπου από τη βάση δεδομένων και εμφανίζει. |
ΜΕΤΑ | create_[object] |
Εισάγει μια νέα εγγραφή αντικειμένου με τις απαιτούμενες εισόδους στη βάση δεδομένων. |
ΠΑΡΤΕ | get_[object] |
Επιλέγει χαρακτηριστικά αντικειμένου με βάση το αναγνωριστικό αντικειμένου από τη βάση δεδομένων και εμφανίζει. |
ΒΆΖΩ | update_[object] |
Ενημερώνει μια υπάρχουσα εγγραφή αντικειμένου με τις απαιτούμενες εισόδους. |
ΔΙΑΓΡΑΦΗ | delete_[object] |
Διαγράφει μια υπάρχουσα εγγραφή αντικειμένου από τη βάση δεδομένων με βάση το αναγνωριστικό αντικειμένου. |
Οι λεπτομέρειες των εννέα API είναι οι εξής:
- /χρήστης – Χρήστης είναι η ταυτότητα κάποιου που είναι εξουσιοδοτημένο να υποβάλλει εργασίες σε αυτήν την εφαρμογή. Η δημιουργία ενός χρήστη απαιτεί όνομα χρήστη, email χρήστη και αναγνωριστικό ομάδας στην οποία ανήκει ο χρήστης.
- /user_group – Μια ομάδα χρηστών είναι μια συλλογή χρηστών. Κάθε ομάδα χρηστών αντιστοιχίζεται σε ένα έργο και ένα σύνολο παραμέτρων διοχέτευσης. Για να υπάρχουν διαφορετικά επίπεδα (όσον αφορά τους πόρους υποδομής και τις παραμέτρους του αγωγού), οι χρήστες χωρίζονται σε ομάδες χρηστών. Κάθε χρήστης μπορεί να ανήκει σε μία μόνο ομάδα χρηστών. Η δημιουργία μιας ομάδας χρηστών απαιτεί αναγνωριστικό έργου, αναγνωριστικό συνόλου παραμέτρων διοχέτευσης, όνομα ομάδας χρηστών και περιγραφή ομάδας χρηστών. Λάβετε υπόψη ότι οι ομάδες χρηστών διαφέρουν από τους ρόλους χρηστών που ορίζονται στον λογαριασμό AWS. Το τελευταίο χρησιμοποιείται για την παροχή διαφορετικού επιπέδου πρόσβασης με βάση τους ρόλους πρόσβασής τους (για παράδειγμα διαχειριστής).
- /έργο – Ένα έργο χρησιμοποιείται για την ομαδοποίηση διαφορετικών συνόλων πόρων υποδομής. Ένα έργο συνδέεται με ένα single
project_cluster_url
(Σύστημα Aurora) για καταγραφή χρηστών, εργασιών και άλλων μεταδεδομένων, αproject_queue_arn
(Kinesis Data Streams ARN) και ένα υπολογιστικό περιβάλλον χρόνου εκτέλεσης (προς το παρόν ελέγχεται μέσω Cortex) που χρησιμοποιείται για την εκτέλεση συμπερασμάτων στις παρτίδες των καρέ ή για μεταεπεξεργασία στα βίντεο. Κάθε ομάδα χρηστών συσχετίζεται με ένα έργο και αυτός ο μηχανισμός είναι ο τρόπος με τον οποίο ενεργοποιούνται διαφορετικά επίπεδα όσον αφορά τον λανθάνοντα χρόνο και την υπολογιστική ισχύ για διαφορετικές ομάδες χρηστών. Η δημιουργία ενός έργου απαιτεί όνομα έργου, διεύθυνση URL συμπλέγματος έργου και ARN ουράς έργου. - /αγωγός – Ένας αγωγός συσχετίζεται με μια ενιαία διαμόρφωση για μια ακολουθία δοχείων επεξεργασίας που εκτελούν επεξεργασία βίντεο στο σύμπλεγμα δημιουργίας συμπερασμάτων Amazon EKS που συντονίζεται από την Cortex (δείτε την ενότητα για τη δημιουργία συμπερασμάτων επεξεργασίας βίντεο για περισσότερες λεπτομέρειες). Συνήθως, αυτό αποτελείται από τρία δοχεία: προεπεξεργασία και αποκωδικοποίηση, ανίχνευση αντικειμένων και εκτίμηση πόζας. Για παράδειγμα, το βήμα αποκωδικοποίησης και ανίχνευσης αντικειμένου είναι το ίδιο για τους αγωγούς 2D και 3D, αλλά η εναλλαγή του τελευταίου κοντέινερ χρησιμοποιώντας είτε HRNet είτε 3DMPPE έχει ως αποτέλεσμα το σύνολο παραμέτρων για αγωγούς επεξεργασίας 2D έναντι 3D. Μπορείτε να δημιουργήσετε νέες διαμορφώσεις για να ορίσετε πιθανές αγωγούς που μπορούν να χρησιμοποιηθούν για επεξεργασία και απαιτεί ως είσοδο ένα νέο αρχείο Python στο αποθετήριο Cortex που περιγράφει λεπτομερώς την ακολουθία των κλήσεων τελικών σημείων του μοντέλου που καθορίζουν αυτήν τη γραμμή (δείτε την ενότητα για τη δημιουργία συμπερασμάτων επεξεργασίας βίντεο ). Το τελικό σημείο του αγωγού είναι το τελικό σημείο του Cortex που καλείται να επεξεργαστεί ένα μεμονωμένο πλαίσιο. Η δημιουργία ενός αγωγού απαιτεί όνομα αγωγού, περιγραφή αγωγού και τελικό σημείο αγωγού.
- /pipeline_parameter_set – Ένα σύνολο παραμέτρων διοχέτευσης είναι μια ευέλικτη συλλογή JSON πολλαπλών παραμέτρων (ένας χρόνος εκτέλεσης διαμόρφωσης διοχέτευσης) για έναν συγκεκριμένο αγωγό και προστίθεται για να παρέχει ευελιξία για μελλοντική προσαρμογή όταν απαιτούνται πολλαπλοί χρόνοι εκτέλεσης διαμόρφωσης αγωγών. Οι ομάδες χρηστών μπορούν να συσχετιστούν με ένα συγκεκριμένο σύνολο παραμέτρων αγωγού και ο σκοπός του είναι να έχει διαφορετικές ομάδες παραμέτρων ανά ομάδα χρηστών και ανά αγωγό. Αυτή ήταν μια σημαντική μακροπρόθεσμη προσθήκη για την Intel OTG για την προσαρμογή που υποστηρίζει τη φορητότητα καθώς διαφορετικοί πελάτες, ιδιαίτερα ISV, αρχίζουν να χρησιμοποιούν την εφαρμογή.
- /pipeline_parameters – Μια ενιαία συλλογή παραμέτρων αγωγού είναι μια παρουσίαση ενός συνόλου παραμέτρων αγωγού. Αυτό το κάνει μια αντιστοίχιση 1:πολλά μιας παραμέτρου αγωγού που έχει οριστεί σε παραμέτρους αγωγού. Αυτό το API απαιτεί ένα αναγνωριστικό αγωγού για να συσχετιστεί με το σύνολο παραμέτρων του αγωγού που επιτρέπει τη δημιουργία ενός αγωγού για μια αντιστοίχιση 1:1 των παραμέτρων του αγωγού στον αγωγό. Οι άλλες είσοδοι που απαιτούνται από αυτό το API είναι ένα αναγνωριστικό συνόλου παραμέτρων διοχέτευσης, τιμή παραμέτρων αγωγού και όνομα παραμέτρων αγωγού.
- /βίντεο – Ένα αντικείμενο βίντεο χρησιμοποιείται για τον ορισμό μεμονωμένων βίντεο που αποτελούν ένα πακέτο .zip που υποβλήθηκε κατά τη διάρκεια μιας εργασίας. Αυτό το αρχείο χωρίζεται σε πολλά βίντεο μετά την υποβολή. Ένα βίντεο σχετίζεται με το
job_id
για την εργασία όπου υποβάλλεται το πακέτο .zip και Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) διαδρομές για τη θέση των ακατέργαστων διαχωρισμένων βίντεο και τα αποτελέσματα μεταεπεξεργασίας κάθε βίντεο. Το αντικείμενο βίντεο περιέχει επίσης ένα ποσοστό προόδου βίντεο, το οποίο ενημερώνεται με συνέπεια κατά την επεξεργασία μεμονωμένων παρτίδων καρέ αυτού του βίντεο, καθώς και μια σημαία κατάστασης βίντεο για πλήρη ή μη ολοκληρωμένη. Η δημιουργία ενός βίντεο απαιτεί αναγνωριστικό εργασίας, διαδρομή βίντεο, διαδρομή αποτελεσμάτων βίντεο, ποσοστό προόδου βίντεο και κατάσταση βίντεο. - /frame_batch - Μια
frame_batch
Το αντικείμενο είναι μια μίνι παρτίδα καρέ που δημιουργείται με δειγματοληψία ενός μόνο βίντεο. Ο διαχωρισμός ενός βίντεο σε παρτίδες καρέ κανονικού μεγέθους παρέχει έναν μοχλό συντονισμού του λανθάνοντος χρόνου και αυξάνει την παραλληλοποίηση και την απόδοση. Αυτή είναι η κοκκώδης μονάδα που εκτελείται μέσω των ροών δεδομένων Kinesis για συμπεράσματα. Η δημιουργία μιας παρτίδας καρέ απαιτεί αναγνωριστικό βίντεο, αριθμό έναρξης παρτίδας καρέ, αριθμό λήξης παρτίδας καρέ, διαδρομή εισαγωγής παρτίδας καρέ, διαδρομή αποτελεσμάτων παρτίδας καρέ και κατάσταση παρτίδας καρέ. - /δουλειά – Αυτό το API αλληλεπίδρασης χρησιμοποιείται για την υποβολή αρχείων για την έναρξη μιας εργασίας επεξεργασίας. Αυτό το API έχει διαφορετική λειτουργία από άλλα API αντικειμένων, επειδή είναι η άμεση διαδρομή για την αλληλεπίδραση με το συντονισμό ροής εργασιών Step Functions επεξεργασίας βίντεο και το σύμπλεγμα Amazon EKS. Αυτό το API απαιτεί αναγνωριστικό χρήστη, αναγνωριστικό έργου, αναγνωριστικό αγωγού, αναγνωριστικό συνόλου παραμέτρων διοχέτευσης, παραμέτρους εργασίας και κατάσταση εργασίας. Στις παραμέτρους εργασίας, καθορίζεται μια διαδρομή αρχείου εισόδου, η οποία είναι η τοποθεσία στο Amazon S3 όπου βρίσκεται το πακέτο .zip των βίντεο που πρόκειται να υποβληθούν σε επεξεργασία. Η μεταφόρτωση αρχείων γίνεται με το
upload_handler
μέθοδο, η οποία δημιουργεί μια προκαθορισμένη διεύθυνση URL S3 για να τοποθετήσει ο χρήστης ένα αρχείο. Μια WORKFLOW_STATEMACHINE_ARN είναι μια μεταβλητή περιβάλλοντος που μεταβιβάζεται στοcreate_job
API για να καθορίσετε πού υποβάλλεται ένα πακέτο βίντεο .zip με διαδρομή αρχείου εισόδου για την έναρξη μιας εργασίας.
Ο παρακάτω πίνακας συνοψίζει τις λειτουργίες του API.
Τύπος μεθόδου | Λειτουργία | Περιγραφή |
ΠΑΡΤΕ | list_jobs |
Επιλέγει όλες τις εργασίες από τη βάση δεδομένων και εμφανίζει. |
ΜΕΤΑ | create_ job |
Εισάγει μια νέα εγγραφή εργασίας με αναγνωριστικό χρήστη, αναγνωριστικό έργου, αναγνωριστικό διοχέτευσης, αναγνωριστικό συνόλου παραμέτρων διοχέτευσης, διαδρομή αποτελεσμάτων εργασίας, παραμέτρους εργασίας και κατάσταση εργασίας. |
ΠΑΡΤΕ | get_ job |
Επιλέγει χαρακτηριστικά εργασίας με βάση το αναγνωριστικό εργασίας από τη βάση δεδομένων και εμφανίζει. |
ΠΑΡΤΕ | upload_handler |
Δημιουργεί μια προκαθορισμένη διεύθυνση URL S3 ως τοποθεσία για τη μεταφόρτωση του αρχείου .zip. Απαιτεί ένα όνομα κάδου S3 και αναμένει έναν τύπο αρχείου εφαρμογής/zip. |
Επίπεδο Python SDK
Με βάση τα API, η ομάδα δημιούργησε μια βιβλιοθήκη πελάτη Python SDK ως περιτύλιγμα για να διευκολύνει τους προγραμματιστές να έχουν πρόσβαση στις μεθόδους API. Χρησιμοποίησαν τον ανοιχτό κώδικα Ποίηση, το οποίο χειρίζεται τη συσκευασία Python και τη διαχείριση εξαρτήσεων. Δημιούργησαν α client.py
αρχείο που περιέχει συναρτήσεις που αναδιπλώνουν κάθε ένα από τα API χρησιμοποιώντας την Python requests
βιβλιοθήκη για να χειρίζεται αιτήματα και εξαιρέσεις API.
Για να ξεκινήσουν οι προγραμματιστές το Intel 3DAT SDK, πρέπει να εγκαταστήσουν και να δημιουργήσουν το πακέτο Poetry. Στη συνέχεια, μπορούν να προσθέσουν μια απλή εισαγωγή Python intel_3dat_sdk
σε οποιονδήποτε κώδικα Python.
Για να χρησιμοποιήσετε τον πελάτη, μπορείτε να δημιουργήσετε μια παρουσία του πελάτη, καθορίζοντας το τελικό σημείο του API:
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τον υπολογιστή-πελάτη για να καλέσετε τις μεμονωμένες μεθόδους, όπως το create_pipeline
μέθοδος (δείτε τον παρακάτω κώδικα), λαμβάνοντας τα κατάλληλα ορίσματα όπως το όνομα του αγωγού και την περιγραφή του αγωγού.
στρώμα CLI
Ομοίως, η ομάδα βασίστηκε στα API για να δημιουργήσει μια διεπαφή γραμμής εντολών για χρήστες που θέλουν να έχουν πρόσβαση στις μεθόδους API με μια απλή διεπαφή χωρίς να χρειάζεται να γράψουν κώδικα Python. Χρησιμοποίησαν το πακέτο Python ανοιχτού κώδικα Πατήστε (Κιτ δημιουργίας διεπαφής γραμμής εντολών). Τα πλεονεκτήματα αυτού του πλαισίου είναι η αυθαίρετη ένθεση των εντολών, η αυτόματη δημιουργία σελίδων βοήθειας και η υποστήριξη καθυστερημένης φόρτωσης υποεντολών κατά το χρόνο εκτέλεσης. Στο ίδιο client.py
αρχείο όπως και στο SDK, κάθε μέθοδος πελάτη SDK αναδιπλώθηκε χρησιμοποιώντας κλικ και τα ορίσματα της απαιτούμενης μεθόδου μετατράπηκαν σε σημαίες γραμμής εντολών. Οι είσοδοι σημαίας χρησιμοποιούνται στη συνέχεια κατά την κλήση της εντολής SDK.
Για να εκκινήσετε το CLI, μπορείτε να χρησιμοποιήσετε το CLI configure
εντολή. Σας ζητείται η διεύθυνση URL τελικού σημείου:
Τώρα μπορείτε να χρησιμοποιήσετε το CLI για να καλέσετε διαφορετικές εντολές που σχετίζονται με τις μεθόδους API, για παράδειγμα:
βάση δεδομένων
Ως βάση δεδομένων, αυτή η εφαρμογή χρησιμοποιεί το Aurora Serverless για την αποθήκευση μεταδεδομένων που σχετίζονται με καθένα από τα API με τη μηχανή βάσης δεδομένων MYSQL. Η επιλογή της υπηρεσίας βάσης δεδομένων Aurora Serverless ακολουθεί την αρχή του σχεδιασμού για την ελαχιστοποίηση των γενικών εξόδων υποδομής χρησιμοποιώντας υπηρεσίες AWS χωρίς διακομιστή όταν είναι δυνατόν. Το παρακάτω διάγραμμα απεικονίζει αυτήν την αρχιτεκτονική.
Η λειτουργία κινητήρα χωρίς διακομιστή πληροί το μοτίβο διαλείπουσας χρήσης, επειδή αυτή η εφαρμογή κλιμακώνεται σε νέους πελάτες και ο φόρτος εργασίας εξακολουθεί να είναι αβέβαιος. Κατά την εκκίνηση ενός τερματικού σημείου βάσης δεδομένων, δεν απαιτείται συγκεκριμένο μέγεθος παρουσίας DB, μόνο ένα ελάχιστο και μέγιστο εύρος χωρητικότητας συμπλέγματος. Το Aurora Serverless χειρίζεται την κατάλληλη παροχή ενός στόλου δρομολογητών και κατανέμει το φόρτο εργασίας μεταξύ των πόρων. Το Aurora Serverless εκτελεί αυτόματα τη διατήρηση αντιγράφων ασφαλείας για τουλάχιστον 1 ημέρα έως και 35 ημέρες. Η ομάδα βελτιστοποίησε για την ασφάλεια ορίζοντας την προεπιλογή στη μέγιστη τιμή των 35.
Επιπλέον, η ομάδα χρησιμοποίησε το API δεδομένων για τη διαχείριση της πρόσβασης στο σύμπλεγμα χωρίς διακομιστή Aurora, το οποίο δεν απαιτεί μόνιμη σύνδεση, αλλά παρέχει ασφαλές τελικό σημείο HTTP και ενσωμάτωση με AWS SDK. Αυτή η δυνατότητα χρησιμοποιεί Διευθυντής μυστικών AWS για να αποθηκεύσετε τα διαπιστευτήρια της βάσης δεδομένων, ώστε να μην χρειάζεται να μεταβιβαστούν ρητά τα διαπιστευτήρια. Τα σενάρια CREATE TABLE γράφτηκαν σε αρχεία .sql για καθέναν από τους εννέα πίνακες που αντιστοιχούν στα εννέα API. Επειδή αυτή η βάση δεδομένων περιείχε όλα τα μεταδεδομένα και την κατάσταση των αντικειμένων στο σύστημα, οι μέθοδοι API εκτελέστηκαν χρησιμοποιώντας τις κατάλληλες εντολές SQL (για παράδειγμα select * from Job
των list_jobs
API) και πέρασε στο execute_statement
μέθοδο από τον πελάτη Amazon RDS στο Data API.
Ενορχήστρωση ροής εργασιών
Ο χειρισμός του λειτουργικού κορμού της εφαρμογής έγινε με χρήση των Λειτουργιών Βήματος για τον συντονισμό της ροής εργασίας, όπως φαίνεται στο παρακάτω διάγραμμα.
Η μηχανή κατάστασης αποτελούνταν από μια ακολουθία τεσσάρων συναρτήσεων λάμδα, η οποία ξεκινά όταν υποβάλλεται μια εργασία χρησιμοποιώντας το create_job
μέθοδο από το job
API. Το αναγνωριστικό χρήστη, το αναγνωριστικό έργου, το αναγνωριστικό διοχέτευσης, το αναγνωριστικό συνόλου παραμέτρων διοχέτευσης, η διαδρομή αποτελεσμάτων εργασίας, οι παράμετροι εργασίας και η κατάσταση εργασίας απαιτούνται για τη δημιουργία θέσεων εργασίας. Μπορείτε πρώτα να ανεβάσετε ένα πακέτο αρχείων βίντεο .zip χρησιμοποιώντας το upload_handler
μέθοδο από το API εργασίας για τη δημιουργία μιας προκαθορισμένης διεύθυνσης URL S3. Κατά την υποβολή της εργασίας, η διαδρομή του αρχείου εισόδου περνά μέσω των παραμέτρων εργασίας, για να καθορίσετε τη θέση του αρχείου. Αυτό ξεκινά την εκτέλεση του μηχανήματος κατάστασης ροής εργασιών, ενεργοποιώντας τέσσερα κύρια βήματα:
- Λειτουργία Initializer Lambda
- Συνάρτηση λάμδα υποβολέα
- Ολοκλήρωση Ελέγξτε τη λειτουργία λάμδα
- Λειτουργία συλλέκτη λάμδα
Λειτουργία Initializer Lambda
Η κύρια λειτουργία του Initializer είναι να διαχωρίζει το πακέτο .zip σε μεμονωμένα αρχεία βίντεο και να τα προετοιμάζει για τον Υποβολέα. Πρώτα, γίνεται λήψη του αρχείου .zip και, στη συνέχεια, αποσυμπιέζεται και εξάγεται κάθε μεμονωμένο αρχείο, συμπεριλαμβανομένων των αρχείων βίντεο. Τα βίντεο, κατά προτίμηση σε μορφή .mp4, αποστέλλονται ξανά σε έναν κάδο S3. Χρησιμοποιώντας την create_video
μέθοδος στο video
API, δημιουργείται ένα αντικείμενο βίντεο με είσοδο τη διαδρομή βίντεο. Αυτό εισάγει δεδομένα για κάθε βίντεο στη βάση δεδομένων Aurora. Οποιοιδήποτε άλλοι τύποι αρχείων, όπως τα αρχεία JSON, θεωρούνται μεταδεδομένα και μεταφορτώνονται με παρόμοιο τρόπο, αλλά δεν δημιουργείται αντικείμενο βίντεο. Μια λίστα με τα ονόματα των αρχείων και των αρχείων βίντεο που έχουν εξαχθεί μεταβιβάζεται στο επόμενο βήμα.
Συνάρτηση λάμδα υποβολέα
Η συνάρτηση Submitter λαμβάνει τα αρχεία βίντεο που εξήχθησαν από το Initializer και δημιουργεί μίνι-παρτίδες καρέ βίντεο ως εικόνες. Τα περισσότερα τρέχοντα μοντέλα υπολογιστικής όρασης στην παραγωγή έχουν εκπαιδευτεί σε εικόνες, επομένως ακόμη και όταν υποβάλλεται σε επεξεργασία βίντεο, πρώτα διαχωρίζονται σε πλαίσια εικόνων πριν από την εξαγωγή του μοντέλου. Αυτή η τρέχουσα λύση που χρησιμοποιεί ένα μοντέλο εκτίμησης πόζας τελευταίας τεχνολογίας δεν διαφέρει - οι παρτίδες πλαισίων από τον Υποβολέα περνούν στα Kinesis Data Streams για να ξεκινήσει το βήμα δημιουργίας συμπερασμάτων.
Αρχικά, γίνεται λήψη του αρχείου βίντεο από τη συνάρτηση Lambda. Ο ρυθμός καρέ και ο αριθμός των καρέ υπολογίζονται χρησιμοποιώντας το FileVideoStream
ενότητα από το imutils.video
βιβλιοθήκη επεξεργασίας. Τα πλαίσια εξάγονται και ομαδοποιούνται σύμφωνα με ένα καθορισμένο μέγεθος μίνι παρτίδας, το οποίο είναι μία από τις βασικές συντονίσιμες παραμέτρους αυτού του αγωγού. Χρησιμοποιώντας τη βιβλιοθήκη Python pickle, τα δεδομένα σειριοποιούνται και αποστέλλονται στο Amazon S3. Στη συνέχεια, δημιουργείται ένα αντικείμενο δέσμης πλαισίου και δημιουργείται η καταχώρηση μεταδεδομένων στη βάση δεδομένων Aurora. Αυτή η συνάρτηση Lambda δημιουργήθηκε χρησιμοποιώντας ένα αρχείο Docker με εξαρτήσεις από opencv-python
, numpy
, να imutils
βιβλιοθήκες.
Ολοκλήρωση Ελέγξτε τη λειτουργία λάμδα
Η συνάρτηση Έλεγχος ολοκλήρωσης συνεχίζει να ερωτά τη βάση δεδομένων Aurora για να δει, για κάθε βίντεο στο πακέτο .zip για αυτήν την τρέχουσα εργασία, πόσες παρτίδες καρέ βρίσκονται στην κατάσταση ΟΛΟΚΛΗΡΩΜΕΝΗ. Όταν ολοκληρωθούν όλες οι παρτίδες καρέ για όλα τα βίντεο, τότε αυτή η διαδικασία ελέγχου έχει ολοκληρωθεί.
Λειτουργία συλλέκτη λάμδα
Η συνάρτηση Συλλέκτης λαμβάνει τις εξόδους των συμπερασμάτων που πραγματοποιήθηκαν σε κάθε καρέ κατά το στάδιο Καταναλωτή και τα συνδυάζει σε μια παρτίδα καρέ και σε ένα βίντεο. Στη συνέχεια, τα συνδυασμένα συγχωνευμένα δεδομένα μεταφορτώνονται σε έναν κάδο S3. Στη συνέχεια, η συνάρτηση καλεί το API μεταεπεξεργασίας Cortex για μια συγκεκριμένη διοχέτευση ML προκειμένου να εκτελέσει τυχόν υπολογισμούς μεταεπεξεργασίας και προσθέτει τα συγκεντρωτικά αποτελέσματα μέσω βίντεο στον κάδο εξόδου. Πολλές από αυτές τις μετρήσεις υπολογίζονται σε πλαίσια, όπως η ταχύτητα, η επιτάχυνση και η γωνία άρθρωσης, επομένως αυτός ο υπολογισμός πρέπει να εκτελείται στα συγκεντρωτικά δεδομένα. Οι κύριες έξοδοι περιλαμβάνουν δεδομένα βασικών σημείων σώματος (συγκεντρωτικά σε μορφή CSV), υπολογισμούς BMA (όπως η επιτάχυνση) και οπτική επικάλυψη βασικών σημείων που προστίθενται σε κάθε καρέ σε ένα αρχείο εικόνας.
Κλιμακόμενη δημιουργία συμπεράσματος εκτίμησης πόζας
Η μηχανή επεξεργασίας που τροφοδοτεί την κλιμάκωση των συμπερασμάτων ML συμβαίνει σε αυτό το στάδιο. Περιλαμβάνει τρία κύρια κομμάτια, το καθένα με τους δικούς του μοχλούς συγχρονισμού που μπορούν να ρυθμιστούν για ανταλλαγές καθυστέρησης (δείτε το παρακάτω διάγραμμα).
Αυτή η αρχιτεκτονική επιτρέπει τον πειραματισμό στη δοκιμή των κερδών καθυστέρησης, καθώς και ευελιξία για το μέλλον, όταν ο φόρτος εργασίας μπορεί να αλλάξει με διαφορετικούς συνδυασμούς τμημάτων τελικού χρήστη που έχουν πρόσβαση στην εφαρμογή.
Ροές δεδομένων Kinesis
Η ομάδα επέλεξε το Kinesis Data Streams επειδή συνήθως χρησιμοποιείται για το χειρισμό δεδομένων ροής και σε αυτήν την περίπτωση ταιριάζει καλά επειδή μπορεί να χειριστεί παρτίδες πλαισίων με παρόμοιο τρόπο για να παρέχει επεκτασιμότητα και παραλληλισμό. Στη συνάρτηση Submitter Lambda, χρησιμοποιείται ο πελάτης Kinesis Boto3, με το put_record
μέθοδος μετάδοσης στα μεταδεδομένα που σχετίζονται με μία παρτίδα καρέ, όπως το αναγνωριστικό παρτίδας καρέ, το αρχικό πλαίσιο παρτίδας καρέ, το τελικό πλαίσιο παρτίδας καρέ, το σχήμα εικόνας, ο ρυθμός καρέ και το αναγνωριστικό βίντεο.
Ορίσαμε διάφορες διαμορφώσεις ουράς εργασιών και ροής δεδομένων Kinesis για να ορίσουμε επίπεδα απόδοσης που συνδέονται με το επίπεδο προτεραιότητας διαφορετικών ομάδων χρηστών. Η πρόσβαση σε διαφορετικά επίπεδα επεξεργαστικής ισχύος συνδέεται περνώντας μια ουρά έργου ARN κατά τη δημιουργία ενός νέου έργου χρησιμοποιώντας το project
API. Στη συνέχεια, κάθε ομάδα χρηστών συνδέεται με ένα συγκεκριμένο έργο κατά τη δημιουργία ομάδας χρηστών. Τρεις προεπιλεγμένες διαμορφώσεις ροής ορίζονται στο Μοντέλο εφαρμογής χωρίς διακομιστή AWS Πρότυπο υποδομής (AWS SAM):
- Αρχικό -
JobStreamShardCount
- Προτεραιότητα -
PriorityJobStreamShardCount
- Υψηλή προτεραιότητα -
HighPriorityJobStreamShardCount
Η ομάδα χρησιμοποίησε μερικούς διαφορετικούς μοχλούς για να διαφοροποιήσει την επεξεργαστική ισχύ κάθε ροής ή να συντονίσει την καθυστέρηση του συστήματος, όπως συνοψίζεται στον παρακάτω πίνακα.
Μοχλός | Περιγραφή | Προεπιλεγμένη τιμή |
Θραύσμα αγγείου | Ένα θραύσμα είναι εγγενές στο Kinesis Data Streams. είναι η βασική μονάδα απόδοσης για κατάποση. Η προεπιλογή είναι 1MB/sec, που ισοδυναμεί με 1,000 εγγραφές δεδομένων ανά δευτερόλεπτο. | 2 |
KinesisBatchSize |
Ο μέγιστος αριθμός εγγραφών που ανακτά το Kinesis Data Streams σε μία παρτίδα πριν από την κλήση της συνάρτησης Lambda καταναλωτή. | 1 |
KinesisParallelizationFactor |
Ο αριθμός των παρτίδων προς επεξεργασία από κάθε θραύσμα ταυτόχρονα. | 1 |
Ενισχυμένο ανεμιστήρα | Οι καταναλωτές δεδομένων που έχουν ενεργοποιήσει το βελτιωμένο fan-out έχουν αποκλειστική απόδοση απορρόφησης ανά καταναλωτή (όπως το προεπιλεγμένο 1MB/sec) αντί να μοιράζονται τη ροή μεταξύ των καταναλωτών. | Εκτός |
Λειτουργία λάμδα καταναλωτή
Από τη σκοπιά του Kinesis Data Streams, ένας καταναλωτής δεδομένων είναι μια υπηρεσία AWS που ανακτά δεδομένα από ένα θραύσμα ροής δεδομένων καθώς τα δεδομένα παράγονται σε μια ροή. Αυτή η εφαρμογή χρησιμοποιεί μια συνάρτηση Consumer Lambda, η οποία καλείται όταν διαβιβάζονται μηνύματα από τις ουρές ροής δεδομένων. Κάθε συνάρτηση καταναλωτή επεξεργάζεται μία παρτίδα πλαισίων εκτελώντας τα ακόλουθα βήματα. Πρώτον, γίνεται μια κλήση στο API του επεξεργαστή Cortex συγχρονισμένα, το οποίο είναι το τελικό σημείο που φιλοξενεί τη γραμμή συμπερασμάτων του μοντέλου (δείτε την επόμενη ενότητα σχετικά με το Amazon EKS με Cortex για περισσότερες λεπτομέρειες). Τα αποτελέσματα αποθηκεύονται στο Amazon S3 και γίνεται ενημέρωση της βάσης δεδομένων αλλάζοντας την κατάσταση της επεξεργασμένης παρτίδας πλαισίων σε Complete
. Ο χειρισμός σφαλμάτων είναι ενσωματωμένος για τη διαχείριση της κλήσης Cortex API με έναν βρόχο επανάληψης για τη διαχείριση τυχόν 504 σφαλμάτων από το σύμπλεγμα Cortex, με τον αριθμό των επαναλήψεων να έχει οριστεί σε 5.
Amazon EKS με Cortex για συμπέρασμα ML
Η ομάδα χρησιμοποίησε το Amazon EKS, μια διαχειριζόμενη υπηρεσία Kubernetes στο AWS, ως υπολογιστική μηχανή για την εξαγωγή συμπερασμάτων ML. Έγινε μια σχεδιαστική επιλογή για τη χρήση του Amazon EKS για τη φιλοξενία τελικών σημείων ML, δίνοντας την ευελιξία εκτέλεσης του Kubernetes ανάντη με την επιλογή συμπλεγμάτων που διαχειρίζονται πλήρως και τα δύο στο AWS μέσω AWS Fargate, ή υλικό εσωτερικής εγκατάστασης μέσω Amazon EKS Anywhere. Αυτό ήταν ένα κρίσιμο κομμάτι της λειτουργικότητας που επιθυμούσε η Intel OTG, η οποία παρείχε την επιλογή σύνδεσης αυτής της εφαρμογής σε εξειδικευμένο υλικό εσωτερικής εγκατάστασης, για παράδειγμα.
Τα τρία μοντέλα ML που ήταν τα δομικά στοιχεία για την κατασκευή των αγωγών συμπερασμάτων ήταν ένα προσαρμοσμένο μοντέλο Yolo (για ανίχνευση αντικειμένων), ένα προσαρμοσμένο μοντέλο HRNet (για εκτίμηση πόζας 2D) και ένα μοντέλο 3DMPPE (για εκτίμηση 3D θέσης) (δείτε το προηγούμενο ενότητα ML για περισσότερες λεπτομέρειες). Χρησιμοποίησαν τον ανοιχτό κώδικα Φλοιός βιβλιοθήκη για τη διαχείριση της ανάπτυξης και της διαχείρισης των τελικών σημείων του αγωγού συμπερασμάτων ML και την εκκίνηση και την ανάπτυξη των συμπλεγμάτων Amazon EKS. Καθένα από αυτά τα μοντέλα συσκευάστηκε σε δοχεία Docker—τα αρχεία μοντέλων αποθηκεύτηκαν στο Amazon S3 και οι εικόνες μοντέλων αποθηκεύτηκαν σε Μητρώο εμπορευματοκιβωτίων Amazon Elastic (Amazon ECR)—και αναπτύχθηκε ως Cortex Realtime API. Οι εκδόσεις των κοντέινερ μοντέλων που λειτουργούν με CPU και GPU δημιουργήθηκαν για να παρέχουν ευελιξία για τον τύπο του υπολογιστικού υλικού. Στο μέλλον, εάν χρειαστεί να προστεθούν επιπλέον μοντέλα ή αγωγοί μοντέλων, μπορούν απλώς να δημιουργήσουν πρόσθετα Cortex Realtime API.
Στη συνέχεια κατασκεύασαν αγωγούς συμπερασμάτων συνθέτοντας μαζί τα API μοντέλων Cortex Realtime σε API αγωγών Cortex Realtime. Ένα μεμονωμένο API αγωγών σε πραγματικό χρόνο αποτελούνταν από την κλήση μιας ακολουθίας API μοντέλων σε πραγματικό χρόνο. Οι συναρτήσεις Λάμδα καταναλωτή που αντιμετωπίζονται α pipeline
API ως μαύρο κουτί, χρησιμοποιώντας μία κλήση API για την ανάκτηση της τελικής εξόδου συμπερασμάτων για μια εικόνα. Δημιουργήθηκαν δύο αγωγοί: ένας αγωγός 2D και ένας αγωγός 3D.
Ο 2D αγωγός συνδυάζει ένα βήμα προεπεξεργασίας αποκωδικοποίησης, ανίχνευση αντικειμένων χρησιμοποιώντας ένα προσαρμοσμένο μοντέλο Yolo για τον εντοπισμό του αθλητή και την παραγωγή οριοθέτησης και, τέλος, ένα προσαρμοσμένο μοντέλο HRNet για τη δημιουργία 2D βασικών σημείων για εκτίμηση πόζας.
Ο τρισδιάστατος αγωγός συνδυάζει ένα βήμα προεπεξεργασίας αποκωδικοποίησης, ανίχνευση αντικειμένων χρησιμοποιώντας ένα προσαρμοσμένο μοντέλο Yolo για τον εντοπισμό του αθλητή και την παραγωγή οριοθέτησης και, τέλος, ένα μοντέλο 3DMPPE για τη δημιουργία τρισδιάστατων σημείων κλειδιών για εκτίμηση πόζας.
Μετά τη δημιουργία συμπερασμάτων σε μια παρτίδα πλαισίων, κάθε διοχέτευση περιλαμβάνει επίσης ένα ξεχωριστό τελικό σημείο Realtime Cortex μεταεπεξεργασίας που παράγει τρεις κύριες εξόδους:
- Συγκεντρώθηκαν δεδομένα βασικών σημείων σώματος σε ένα μόνο αρχείο CSV
- Υπολογισμοί BMA (όπως η επιτάχυνση)
- Οπτική επικάλυψη βασικών σημείων που προστέθηκαν σε κάθε πλαίσιο σε ένα αρχείο εικόνας
Η συνάρτηση Λάμδα συλλογής υποβάλλει τα κατάλληλα μεταδεδομένα που σχετίζονται με ένα συγκεκριμένο βίντεο, όπως τα αναγνωριστικά καρέ και οι θέσεις S3 των εξόδων συμπερασμάτων εκτίμησης θέσης, στο τελικό σημείο για τη δημιουργία αυτών των εξόδων μετά την επεξεργασία.
Το Cortex έχει σχεδιαστεί για να ενσωματώνεται με το Amazon EKS και απαιτεί μόνο ένα αρχείο διαμόρφωσης συμπλέγματος και μια απλή εντολή για την εκκίνηση ενός συμπλέγματος Kubernetes:
Ένας άλλος μοχλός για τον συντονισμό απόδοσης ήταν η διαμόρφωση παρουσίας για τα συμπλέγματα υπολογιστών. Δημιουργήθηκαν τρία επίπεδα με ποικίλους συνδυασμούς παρουσιών M5 και G4dn, κωδικοποιημένα ως αρχεία .yaml με προδιαγραφές όπως όνομα συμπλέγματος, περιοχή και διαμόρφωση και μίξη παρουσίας. Οι παρουσίες M5 βασίζονται σε CPU χαμηλότερου κόστους και το G4dn βασίζονται σε GPU υψηλότερου κόστους για την παροχή ορισμένων αντισταθμίσεων κόστους/απόδοσης.
Λειτουργική παρακολούθηση
Για τη διατήρηση των λειτουργικών προτύπων καταγραφής, όλες οι λειτουργίες Lambda περιλαμβάνουν κώδικα για εγγραφή και απορρόφηση αρχείων καταγραφής μέσω Firehose δεδομένων Amazon Kinesis. Για παράδειγμα, κάθε παρτίδα καρέ που υποβάλλεται σε επεξεργασία από τη συνάρτηση Submitter Lambda καταγράφεται με τη χρονική σήμανση, το όνομα της ενέργειας και την απόκριση της συνάρτησης Lambda JSON και αποθηκεύεται στο Amazon S3. Το παρακάτω διάγραμμα απεικονίζει αυτό το βήμα στην αρχιτεκτονική.
Ανάπτυξη
Η ανάπτυξη πραγματοποιείται χρησιμοποιώντας το AWS SAM, ένα πλαίσιο ανοιχτού κώδικα για τη δημιουργία εφαρμογών χωρίς διακομιστές στο AWS. Το AWS SAM επιτρέπει τη σχεδίαση υποδομής, συμπεριλαμβανομένων των λειτουργιών, των API, των βάσεων δεδομένων και των αντιστοιχίσεων πηγών συμβάντων να κωδικοποιούνται και να αναπτύσσονται εύκολα σε νέα περιβάλλοντα AWS. Κατά την ανάπτυξη, μεταφράζεται η σύνταξη AWS SAM AWS CloudFormation για τη διαχείριση της παροχής υποδομής.
A template.yaml
Το αρχείο περιέχει τις προδιαγραφές υποδομής μαζί με συντονίσιμες παραμέτρους, όπως μοχλούς καθυστέρησης Kinesis Data Streams που περιγράφονται λεπτομερώς στις προηγούμενες ενότητες. ΕΝΑ samconfig.toml
Το αρχείο περιέχει παραμέτρους ανάπτυξης, όπως όνομα στοίβας, όνομα κάδου S3 όπου αποθηκεύονται αρχεία εφαρμογής όπως ο κώδικας συνάρτησης Lambda και ετικέτες πόρων για την παρακολούθηση του κόστους. Ένα σενάριο shell deploy.sh με τις απλές εντολές είναι το μόνο που απαιτείται για τη δημιουργία και την ανάπτυξη ολόκληρου του προτύπου:
Ροή εργασίας χρήστη
Συνοψίζοντας, μετά την ανάπτυξη της υποδομής, μπορείτε να ακολουθήσετε αυτήν τη ροή εργασίας για να ξεκινήσετε:
- Δημιουργήστε ένα πρόγραμμα-πελάτη Intel 3DAT χρησιμοποιώντας τη βιβλιοθήκη του προγράμματος-πελάτη.
- Χρησιμοποιήστε το API για να δημιουργήσετε ένα νέο στιγμιότυπο μιας διοχέτευσης που αντιστοιχεί στον τύπο επεξεργασίας που απαιτείται, όπως ένα για εκτίμηση πόζας 3D.
- Δημιουργήστε μια νέα παρουσία ενός έργου, περνώντας στο σύμπλεγμα ARN και Kinesis ουρά ARN.
- Δημιουργήστε μια νέα παρουσία ενός συνόλου παραμέτρων διοχέτευσης.
- Δημιουργήστε μια νέα παρουσία παραμέτρων αγωγού που αντιστοιχούν στο σύνολο παραμέτρων του αγωγού.
- Δημιουργήστε μια νέα ομάδα χρηστών που σχετίζεται με ένα αναγνωριστικό έργου και ένα αναγνωριστικό συνόλου παραμέτρων διοχέτευσης.
- Δημιουργήστε έναν νέο χρήστη που σχετίζεται με την ομάδα χρηστών.
- Ανεβάστε ένα αρχείο .zip βίντεο στο Amazon S3 χρησιμοποιώντας μια προκαθορισμένη διεύθυνση URL S3 που δημιουργήθηκε από τη λειτουργία μεταφόρτωσης στο API εργασίας.
- Υποβάλετε ένα
create_job
Κλήση API, με παραμέτρους εργασίας που καθορίζουν τη θέση των αρχείων βίντεο. Αυτό ξεκινά την εργασία επεξεργασίας.
Συμπέρασμα
Η εφαρμογή είναι πλέον ζωντανή και έτοιμη για δοκιμή με αθλητές και προπονητές. Η Intel OTG είναι ενθουσιασμένη που κάνει την καινοτόμο τεχνολογία εκτίμησης πόζας χρησιμοποιώντας όραση υπολογιστή προσβάσιμη σε διάφορους χρήστες, από προγραμματιστές έως αθλητές έως συνεργάτες προμηθευτών λογισμικού.
Η ομάδα AWS είναι παθιασμένη να βοηθά πελάτες όπως η Intel OTG να επιταχύνουν το ταξίδι τους στο ML, από το στάδιο ιδεασμού και ανακάλυψης με το ML Solutions Lab μέχρι το στάδιο σκλήρυνσης και ανάπτυξης με το AWS ML ProServe. Όλοι θα παρακολουθούμε στενά τους Ολυμπιακούς Αγώνες του Τόκιο του 2021 αυτό το καλοκαίρι για να οραματιστούμε όλη την πρόοδο που μπορεί να ξεκλειδώσει η ML στον αθλητισμό.
Ξεκινήστε σήμερα! Εξερευνήστε τη θήκη χρήσης σας με τις υπηρεσίες που αναφέρονται σε αυτήν την ανάρτηση και πολλές άλλες στο Κονσόλα διαχείρισης AWS.
Σχετικά με τους Συγγραφείς
Χαν Μαν είναι Ανώτερος Διευθυντής- Machine Learning & AI στην AWS με έδρα το San Diego, CA. Έχει διδακτορικό στη μηχανική από το Northwestern University και έχει πολλά χρόνια εμπειρίας ως σύμβουλος διαχείρισης που συμβουλεύει πελάτες στον τομέα της μεταποίησης, των χρηματοοικονομικών υπηρεσιών και της ενέργειας. Σήμερα εργάζεται με πάθος με πελάτες από διάφορους κλάδους για να αναπτύξει και να εφαρμόσει λύσεις μηχανικής μάθησης και τεχνητής νοημοσύνης στο AWS. Του αρέσει να ακολουθεί το ΝΒΑ και να παίζει μπάσκετ στον ελεύθερο χρόνο του.
Iman Kamyabi είναι Μηχανικός ML με επαγγελματικές υπηρεσίες AWS. Έχει συνεργαστεί με ένα ευρύ φάσμα πελατών AWS για να υπερασπιστεί τις βέλτιστες πρακτικές στη δημιουργία επαναλαμβανόμενων και αξιόπιστων αγωγών ML.
Τζόναθαν Λι είναι διευθυντής της Sports Performance Technology, Olympic Technology Group στην Intel. Σπούδασε την εφαρμογή της μηχανικής μάθησης στην υγεία ως προπτυχιακό στο UCLA και κατά τη διάρκεια της μεταπτυχιακής του εργασίας στο Πανεπιστήμιο της Οξφόρδης. Η καριέρα του επικεντρώθηκε στην ανάπτυξη αλγορίθμων και αισθητήρων για την υγεία και την ανθρώπινη απόδοση. Ηγείται τώρα του έργου 3D Athlete Tracking στην Intel.
Νέλσον Λέουνγκ είναι ο Αρχιτέκτονας Πλατφόρμας στο Sports Performance CoE της Intel, όπου ορίζει αρχιτεκτονική end-to-end για προϊόντα αιχμής που ενισχύουν την απόδοση των αθλητών. Ηγείται επίσης της υλοποίησης, της ανάπτυξης και της παραγωγής αυτών των λύσεων μηχανικής μάθησης σε διάφορους συνεργάτες της Intel.
Troy Squillaci είναι μηχανικός DecSecOps στην Intel όπου παρέχει επαγγελματικές λύσεις λογισμικού στους πελάτες μέσω των βέλτιστων πρακτικών DevOps. Του αρέσει να ενσωματώνει λύσεις τεχνητής νοημοσύνης σε κλιμακούμενες πλατφόρμες σε διάφορους τομείς.
Paul Min είναι Associate Solutions Architect Intern στο Amazon Web Services (AWS), όπου βοηθά τους πελάτες σε διαφορετικούς κλάδους της βιομηχανίας να προωθήσουν την αποστολή τους και να επιταχύνουν την υιοθέτησή τους στο cloud. Προηγουμένως στην Intel, εργάστηκε ως ασκούμενος μηχανικός λογισμικού για να βοηθήσει στην ανάπτυξη του 3D Athlete Tracking Cloud SDK. Εκτός δουλειάς, ο Paul απολαμβάνει να παίζει γκολφ και μπορεί να ακούγεται να τραγουδά.
- Coinsmart. Το καλύτερο ανταλλακτήριο Bitcoin και Crypto στην Ευρώπη.
- Platoblockchain. Web3 Metaverse Intelligence. Ενισχύθηκε η γνώση. ΕΛΕΥΘΕΡΗ ΠΡΟΣΒΑΣΗ.
- CryptoHawk. Ραντάρ Altcoin. Δωρεάν δοκιμή.
- Πηγή: https://aws.amazon.com/blogs/machine-learning/the-intel3d-athlete-tracking-3dat-scalable-architecture-deploys-pose-estimation-models-using-amazon-kinesis-data-streams- και-amazon-eks/
- "
- &
- 000
- 100
- 2021
- 3d
- Σχετικά
- επιταχύνουν
- πρόσβαση
- προσιτός
- Σύμφωνα με
- Λογαριασμός
- απέναντι
- Ενέργειες
- ενεργειών
- Επιπλέον
- Πρόσθετος
- διαχειριστής
- Υιοθεσία
- AI
- αλγόριθμος
- Όλα
- Amazon
- Amazon υπηρεσίες Web
- μεταξύ των
- api
- APIs
- Εφαρμογή
- εφαρμογές
- κατάλληλος
- αρχιτεκτονική
- επιχειρήματα
- ανατεθεί
- Συνεργάτης
- αθλητές
- γνωρίσματα
- Αυτόματο
- AWS
- εφεδρικός
- Μπάσκετ
- πριν
- οφέλη
- ΚΑΛΎΤΕΡΟΣ
- βέλτιστες πρακτικές
- Μαύρη
- Blog
- σώμα
- Κουτί
- χτίζω
- Κτίριο
- κλήση
- Χωρητικότητα
- ο οποίος
- Σταδιοδρομία
- περιπτώσεις
- κεντρικός
- πρωταθλητής
- αλλαγή
- επιλογές
- πελάτες
- Backup
- κωδικός
- συλλογή
- συλλέκτης
- σε συνδυασμό
- συστατικό
- Υπολογίστε
- υπολογιστή
- διαμόρφωση
- σύνδεση
- σύμβουλος
- καταναλωτής
- Καταναλωτές
- Δοχείο
- Εμπορευματοκιβώτια
- Περιέχει
- συνεχίζεται
- έλεγχος
- συντεταγμένη
- πυρήνας
- Αντίστοιχος
- δημιουργία
- δημιουργήθηκε
- δημιουργεί
- δημιουργία
- δημιουργία
- Διαπιστεύσεις
- κρίσιμης
- κρίσιμος
- Ρεύμα
- Τη στιγμή
- έθιμο
- πελάτης
- Πελάτες
- αιχμής
- ημερομηνία
- βάση δεδομένων
- βάσεις δεδομένων
- ημέρα
- αφιερωμένο
- βαθύτερη
- παραδίδει
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- αναπτύσσεται
- Υπηρεσίες
- σχεδιασμένα
- λεπτομέρεια
- λεπτομερής
- καθέκαστα
- Ανίχνευση
- ανάπτυξη
- Εργολάβος
- προγραμματιστές
- Ανάπτυξη
- διαφορετικές
- διαφοροποιούν
- κατευθύνει
- Διευθυντής
- ανακάλυψη
- οθόνες
- Λιμενεργάτης
- Όχι
- domains
- κάτω
- κατά την διάρκεια
- εύκολα
- ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
- Τελικό σημείο
- ενέργεια
- Κινητήρας
- μηχανικός
- Μηχανική
- Περιβάλλον
- Συμβάν
- παράδειγμα
- ενθουσιασμένοι
- υφιστάμενα
- αναμένει
- εμπειρία
- διερευνήσει
- Χαρακτηριστικό
- Τελικά
- οικονομικός
- των χρηματοπιστωτικών υπηρεσιών
- Όνομα
- ταιριάζουν
- ΣΤΟΛΟΣ
- Ευελιξία
- εύκαμπτος
- επικεντρώθηκε
- ακολουθήστε
- Εξής
- εξής
- μορφή
- μελλοντικά
- ΠΛΑΙΣΙΟ
- Πλαίσιο
- λειτουργία
- λειτουργικός
- λειτουργικότητα
- λειτουργίες
- μελλοντικός
- παράγουν
- παραγωγής
- γενεά
- Δίνοντας
- γκολ
- καλός
- GPU
- αποφοιτήσουν
- Group
- Ομάδα
- λαβή
- Χειρισμός
- υλικού
- Υγεία
- ακούσει
- βοήθεια
- βοήθεια
- βοηθά
- εδώ
- υψηλότερο
- Πως
- HTTPS
- ανθρώπινος
- Ταυτότητα
- εικόνα
- εφαρμογή
- εκτέλεση
- σημαντικό
- περιλαμβάνουν
- περιλαμβάνει
- Συμπεριλαμβανομένου
- ατομικές
- βιομηχανίες
- βιομηχανία
- Υποδομή
- καινοτόμες
- εισαγωγή
- Ένθετα
- εγκαθιστώ
- ενσωματωθεί
- ολοκλήρωση
- Intel
- Νοημοσύνη
- αλληλεπίδραση
- περιβάλλον λειτουργίας
- IT
- Δουλειά
- Θέσεις εργασίας
- ταξίδι
- Κλειδί
- εργαστήριο
- ξεκινήσει
- δρομολόγηση
- Οδηγεί
- μάθηση
- Επίπεδο
- Βιβλιοθήκη
- γραμμή
- Λίστα
- φόρτωση
- τοποθεσία
- θέσεις
- μηχανή
- μάθηση μηχανής
- που
- διατηρήσουν
- μεγάλες
- ΚΑΝΕΙ
- άνδρας
- διαχείριση
- διαχειρίζεται
- διαχείριση
- κατασκευής
- χάρτη
- χαρτης
- που αναφέρθηκαν
- μέθοδοι
- Metrics
- ελάχιστο
- Αποστολή
- ML
- Κινητό
- Mobile Applications
- μοντέλο
- μοντέλα
- σπονδυλωτή
- περισσότερο
- πλέον
- πολλαπλούς
- ονόματα
- ΝΒΑ
- απαραίτητος
- ανάγκες
- αριθμός
- Ολυμπιακοί Αγώνες
- ανοίγει
- λειτουργούν
- βελτιστοποιημένη
- Επιλογή
- τάξη
- ΑΛΛΑ
- δική
- Οξφόρδη
- πακέτο
- μέρος
- Ειδικότερα
- ιδιαίτερα
- Συνεργάτες
- Πέρασμα
- παθιασμένος
- πρότυπο
- ποσοστό
- επίδοση
- εκτέλεση
- προοπτική
- κομμάτι
- πλατφόρμες
- Πλατφόρμες
- παιχνίδι
- Ποίηση
- σημεία
- δυνατός
- δύναμη
- ισχυρός
- Προετοιμάστε
- προηγούμενος
- πρωταρχικός
- αρχή
- προτεραιότητα
- διαδικασια μας
- Διεργασίες
- μεταποίηση
- Επεξεργαστής
- παράγει
- παραγωγή
- Προϊόντα
- επαγγελματίας
- σχέδιο
- παρέχουν
- παρέχει
- σκοπός
- σειρά
- Ακατέργαστος
- πραγματικός χρόνος
- αναγνωρίζω
- ρεκόρ
- αρχεία
- σχετικά με
- αξιόπιστος
- αιτήματα
- απαιτούν
- απαιτείται
- απαιτήσεις
- Απαιτεί
- πόρος
- Υποστηρικτικό υλικό
- απάντησης
- Αποτελέσματα
- τρέξιμο
- τρέξιμο
- Ασφάλεια
- Σαν
- Απεριόριστες δυνατότητες
- επεκτάσιμη
- Κλίμακα
- απολέπιση
- SDK
- προστατευμένο περιβάλλον
- τμήματα
- Χωρίς διακομιστή
- υπηρεσία
- Υπηρεσίες
- σειρά
- τον καθορισμό
- Shape
- μοιράζονται
- κέλυφος
- παρουσιάζεται
- παρόμοιες
- Ομοίως
- Απλούς
- Μέγεθος
- So
- λογισμικό
- λογισμικό ως υπηρεσία
- τεχνολογία λογισμικού
- λύση
- Λύσεις
- μερικοί
- Κάποιος
- ειδικευμένος
- προδιαγραφές
- ταχύτητα
- Αθλητισμός
- σωρός
- Στάδιο
- πρότυπο
- πρότυπα
- Εκκίνηση
- ξεκίνησε
- ξεκινά
- Κατάσταση
- state-of-the-art
- Κατάσταση
- χώρος στο δίσκο
- κατάστημα
- μετάδοση
- ροής
- υποβάλλονται
- Ακολούθως
- καλοκαίρι
- υποστήριξη
- Υποστηρίζει
- σύστημα
- λήψη
- Τεχνολογία
- Δοκιμές
- επομένως
- Μέσω
- ΓΡΑΒΑΤΑ
- ώρα
- σήμερα
- μαζι
- Τόκιο
- τροχιά
- Παρακολούθηση
- τύποι
- συνήθως
- UCLA
- πανεπιστήμιο
- Πανεπιστήμιο της Οξφόρδης
- ξεκλειδώσετε
- Ενημέρωση
- χρήση
- Χρήστες
- αξιοποιώντας
- αξία
- ποικιλία
- διάφορα
- κατακόρυφα
- Βίντεο
- Βίντεο
- όραμα
- ιστός
- διαδικτυακές υπηρεσίες
- Ο ΟΠΟΊΟΣ
- χωρίς
- Εργασία
- εργάστηκαν
- εργαζόμενος
- χρόνια