Η ανάπτυξη διεπαφών Ιστού για αλληλεπίδραση με ένα μοντέλο μηχανικής μάθησης (ML) είναι μια κουραστική εργασία. Με Ροή, η ανάπτυξη εφαρμογών επίδειξης για τη λύση ML σας είναι εύκολη. Ροή είναι μια βιβλιοθήκη Python ανοιχτού κώδικα που διευκολύνει τη δημιουργία και την κοινή χρήση εφαρμογών ιστού για ML και επιστήμη δεδομένων. Ως επιστήμονας δεδομένων, μπορεί να θέλετε να παρουσιάσετε τα ευρήματά σας για ένα σύνολο δεδομένων ή να αναπτύξετε ένα εκπαιδευμένο μοντέλο. Οι εφαρμογές Streamlit είναι χρήσιμες για την παρουσίαση της προόδου σε ένα έργο στην ομάδα σας, την απόκτηση και την ανταλλαγή πληροφοριών με τους διαχειριστές σας, ακόμη και για τη λήψη σχολίων από τους πελάτες.
Με το ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) του Στούντιο Amazon SageMaker με Εργαστήριο Jupyter 3, μπορούμε να δημιουργήσουμε, να εκτελέσουμε και να εξυπηρετήσουμε εφαρμογές web Streamlit μέσα από το ίδιο περιβάλλον για σκοπούς ανάπτυξης. Αυτή η ανάρτηση περιγράφει τον τρόπο δημιουργίας και φιλοξενίας εφαρμογών Streamlit στο Studio με ασφαλή και αναπαραγώγιμο τρόπο χωρίς χρονοβόρα ανάπτυξη front-end. Ως παράδειγμα, χρησιμοποιούμε ένα έθιμο Αναγνώριση Amazon επίδειξη, η οποία θα σχολιάζει και θα επισημαίνει μια μεταφορτωμένη εικόνα. Αυτό θα χρησιμεύσει ως σημείο εκκίνησης και μπορεί να γενικευτεί για να παρουσιάσει οποιοδήποτε προσαρμοσμένο μοντέλο ML. Ο κώδικας για αυτό το ιστολόγιο βρίσκεται σε αυτό Αποθετήριο GitHub.
Επισκόπηση λύσεων
Ακολουθεί το αρχιτεκτονικό διάγραμμα της λύσης μας.
Ένας χρήστης έχει πρώτα πρόσβαση στο Studio μέσω του προγράμματος περιήγησης. Ο διακομιστής Jupyter που σχετίζεται με το προφίλ χρήστη εκτελείται εντός της παρουσίας Studio Amazon Elastic Compute Cloud (Amazon EC2). Μέσα στην παρουσία του Studio EC2 υπάρχει το παράδειγμα λίστας κώδικα και εξαρτήσεων. Ο χρήστης μπορεί να εκτελέσει την εφαρμογή Streamlit, app.py, στο τερματικό συστήματος. Το Studio εκτελεί τη διεπαφή χρήστη JupyterLab σε έναν διακομιστή Jupyter, αποσυνδεδεμένο από πυρήνες φορητών υπολογιστών. Ο διακομιστής Jupyter συνοδεύεται από διακομιστή μεσολάβησης και μας επιτρέπει να έχουμε πρόσβαση στην εφαρμογή Streamlit. Μόλις εκτελεστεί η εφαρμογή, ο χρήστης μπορεί να ξεκινήσει μια ξεχωριστή περίοδο λειτουργίας μέσω του διακομιστή μεσολάβησης AWS Jupyter προσαρμόζοντας τη διεύθυνση URL.
Από πλευράς ασφάλειας, ο διακομιστής μεσολάβησης AWS Jupyter επεκτείνεται με έλεγχο ταυτότητας AWS. Εφόσον ένας χρήστης έχει πρόσβαση στον λογαριασμό AWS, στο ID τομέα Studio και στο προφίλ χρήστη, μπορεί να έχει πρόσβαση στον σύνδεσμο.
Δημιουργήστε Studio χρησιμοποιώντας το JupyterLab 3.0
Για να λειτουργήσει αυτή η λύση, πρέπει να εγκατασταθεί το Studio με JupyterLab 3. Οι παλαιότερες εκδόσεις ενδέχεται να μην υποστηρίζουν λειτουργίες που περιγράφονται σε αυτήν την ανάρτηση. Για περισσότερες πληροφορίες, ανατρέξτε στο Το Amazon SageMaker Studio και το SageMaker Notebook Instance έρχονται τώρα με φορητούς υπολογιστές JupyterLab 3 για την ενίσχυση της παραγωγικότητας των προγραμματιστών. Από προεπιλογή, το Studio συνοδεύεται από το JupyterLab 3. Θα πρέπει να ελέγξετε την έκδοση και να την αλλάξετε εάν εκτελείται παλαιότερη έκδοση. Για περισσότερες πληροφορίες, ανατρέξτε στο JupyterLab Versioning.
Μπορείτε να ρυθμίσετε το Studio χρησιμοποιώντας το Κιτ ανάπτυξης AWS Cloud (AWS CDK); για περισσότερες πληροφορίες, ανατρέξτε στο Ρυθμίστε το Amazon SageMaker Studio με το Jupyter Lab 3 χρησιμοποιώντας το AWS CDK. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε την κονσόλα SageMaker για να αλλάξετε τις ρυθμίσεις τομέα. Ολοκληρώστε τα παρακάτω βήματα:
- Στην κονσόλα SageMaker, επιλέξτε Domains στο παράθυρο πλοήγησης.
- Επιλέξτε τον τομέα σας και επιλέξτε Αλλαγή.
- Για Προεπιλεγμένη έκδοση Jupyter Lab, βεβαιωθείτε ότι η έκδοση έχει ρυθμιστεί σε Εργαστήριο Jupyter 3.0.
(Προαιρετικό) Δημιουργήστε έναν κοινόχρηστο χώρο
Μπορούμε να χρησιμοποιήσουμε την κονσόλα SageMaker ή το AWS CLI για να προσθέσουμε υποστήριξη για κοινόχρηστους χώρους σε έναν υπάρχοντα τομέα, ακολουθώντας τα βήματα στα έγγραφα ή σε αυτό το ιστολόγιο. Η δημιουργία ενός κοινόχρηστου χώρου στο AWS έχει τα ακόλουθα πλεονεκτήματα:
- Συνεργασία: Ένας κοινόχρηστος χώρος επιτρέπει σε πολλούς χρήστες ή ομάδες να συνεργάζονται σε ένα έργο ή ένα σύνολο πόρων, χωρίς να χρειάζεται να αντιγράφουν δεδομένα ή υποδομές.
- Εξοικονόμηση κόστους: Αντί κάθε χρήστης ή ομάδα να δημιουργεί και να διαχειρίζεται τους δικούς του πόρους, ένας κοινόχρηστος χώρος μπορεί να είναι πιο οικονομικός, καθώς οι πόροι μπορούν να συγκεντρωθούν και να μοιραστούν σε πολλούς χρήστες.
- Απλοποιημένη διαχείριση: Με έναν κοινόχρηστο χώρο, οι διαχειριστές μπορούν να διαχειρίζονται πόρους κεντρικά, αντί να χρειάζεται να διαχειρίζονται πολλές παρουσίες των ίδιων πόρων για κάθε χρήστη ή ομάδα.
- Βελτιωμένη επεκτασιμότητα: Ένας κοινόχρηστος χώρος μπορεί να κλιμακωθεί πιο εύκολα προς τα πάνω ή προς τα κάτω για να ανταποκριθεί στις μεταβαλλόμενες απαιτήσεις, καθώς οι πόροι μπορούν να κατανεμηθούν δυναμικά για την κάλυψη των αναγκών διαφορετικών χρηστών ή ομάδων.
- Ενισχυμένη ασφάλεια: Με τη συγκέντρωση πόρων σε έναν κοινόχρηστο χώρο, η ασφάλεια μπορεί να βελτιωθεί, καθώς οι έλεγχοι πρόσβασης και η παρακολούθηση μπορούν να εφαρμοστούν πιο εύκολα και με συνέπεια.
Εγκαταστήστε εξαρτήσεις και κλωνοποιήστε το παράδειγμα στο Studio
Στη συνέχεια, εκκινούμε το Studio και ανοίγουμε το τερματικό συστήματος. Χρησιμοποιούμε το SageMaker IDE για να κλωνοποιήσουμε το παράδειγμά μας και το τερματικό συστήματος για την εκκίνηση της εφαρμογής μας. Ο κώδικας για αυτό το ιστολόγιο βρίσκεται σε αυτό Αποθετήριο GitHub. Ξεκινάμε με την κλωνοποίηση του αποθετηρίου:
Στη συνέχεια, ανοίγουμε το τερματικό συστήματος.
Μόλις κλωνοποιηθεί, στο τερματικό του συστήματος εγκαταστήστε εξαρτήσεις για να εκτελέσετε τον κώδικα του παραδείγματός μας εκτελώντας την ακόλουθη εντολή. Αυτό θα εγκαταστήσει πρώτα τις εξαρτήσεις εκτελώντας pip install --no-cache-dir -r requirements.txt
. ο no-cache-dir
Η σημαία θα απενεργοποιήσει την προσωρινή μνήμη. Η προσωρινή αποθήκευση βοηθά στην αποθήκευση των αρχείων εγκατάστασης (.whl
) των μονάδων που εγκαθιστάτε μέσω pip. Επίσης αποθηκεύει τα αρχεία προέλευσης (.tar.gz
) για να αποφύγετε την εκ νέου λήψη όταν δεν έχουν λήξει. Εάν δεν υπάρχει χώρος στον σκληρό μας δίσκο ή αν θέλουμε να διατηρήσουμε μια εικόνα Docker όσο το δυνατόν μικρότερη, μπορούμε να χρησιμοποιήσουμε αυτήν τη σημαία ώστε η εντολή να εκτελείται μέχρι την ολοκλήρωση με ελάχιστη χρήση μνήμης. Στη συνέχεια, το σενάριο θα εγκαταστήσει πακέτα iproute
και jq
, το οποίο θα χρησιμοποιηθεί στο επόμενο βήμα.sh setup.sh
Εκτελέστε το Streamlit Demo και δημιουργήστε κοινόχρηστο σύνδεσμο
Για να επαληθεύσετε ότι όλες οι εξαρτήσεις έχουν εγκατασταθεί με επιτυχία και για να προβάλετε την επίδειξη του Amazon Rekognition, εκτελέστε την ακόλουθη εντολή:
Θα εμφανιστεί ο αριθμός θύρας που φιλοξενεί την εφαρμογή.
Σημειώστε ότι κατά την ανάπτυξη, μπορεί να είναι χρήσιμο η αυτόματη επανεκτέλεση του σεναρίου όταν app.py
τροποποιείται στο δίσκο. Για να το κάνουμε, ώστε να μπορούμε να τροποποιήσουμε το runOnSave επιλογή διαμόρφωσης προσθέτοντας το --server.runOnSave true
σημαία στην εντολή μας:
Το ακόλουθο στιγμιότυπο οθόνης δείχνει ένα παράδειγμα του τι πρέπει να εμφανίζεται στο τερματικό.
Από το παραπάνω παράδειγμα βλέπουμε τον αριθμό θύρας, το αναγνωριστικό τομέα και τη διεύθυνση URL στούντιο στο οποίο εκτελούμε την εφαρμογή μας. Τέλος, μπορούμε να δούμε τη διεύθυνση URL που πρέπει να χρησιμοποιήσουμε για να αποκτήσουμε πρόσβαση στην απλοποιημένη εφαρμογή μας. Αυτό το σενάριο τροποποιεί τη διεύθυνση URL του Studio και αντικαθιστά lab?
με proxy/[PORT NUMBER]/
. Θα εμφανιστεί η επίδειξη ανίχνευσης αντικειμένου αναγνώρισης, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Τώρα που λειτουργεί η εφαρμογή Streamlit, μπορούμε να μοιραστούμε αυτήν τη διεύθυνση URL με οποιονδήποτε έχει πρόσβαση σε αυτό το αναγνωριστικό τομέα Studio και το προφίλ χρήστη. Για να διευκολύνουμε την κοινή χρήση αυτών των επιδείξεων, μπορούμε να ελέγξουμε την κατάσταση και να απαριθμήσουμε όλες τις εφαρμογές που εκτελούνται με streamlit εκτελώντας την ακόλουθη εντολή: sh status.sh
Μπορούμε να χρησιμοποιήσουμε σενάρια κύκλου ζωής ή κοινόχρηστους χώρους για να επεκτείνουμε αυτήν την εργασία. Αντί να εκτελείτε μη αυτόματα τα σενάρια φλοιού και να εγκαταστήσετε εξαρτήσεις, χρησιμοποιήστε σενάρια κύκλου ζωής για τον εξορθολογισμό αυτής της διαδικασίας. Για να αναπτύξετε και να επεκτείνετε αυτήν την εφαρμογή με μια ομάδα και να μοιραστείτε πίνακες εργαλείων με συνομηλίκους, χρησιμοποιήστε κοινόχρηστους χώρους. Δημιουργώντας κοινόχρηστους χώρους στο Studio, οι χρήστες μπορούν να συνεργαστούν στον κοινόχρηστο χώρο για να αναπτύξουν μια εφαρμογή Streamlit σε πραγματικό χρόνο. Όλοι οι πόροι σε έναν κοινόχρηστο χώρο φιλτράρονται και επισημαίνονται, διευκολύνοντας την εστίαση σε έργα ML και τη διαχείριση του κόστους. Ανατρέξτε στον παρακάτω κώδικα για να δημιουργήσετε τις δικές σας εφαρμογές στο Studio.
Εκκαθάριση
Μόλις τελειώσουμε με τη χρήση της εφαρμογής, θέλουμε να ελευθερώσουμε τις θύρες ακρόασης. Για να εκτελούνται όλες οι διαδικασίες απλοποιημένες και να τις ελευθερώσουμε για χρήση, μπορούμε να εκτελέσουμε το σενάριο εκκαθάρισης: sh cleanup.sh
Συμπέρασμα
Σε αυτήν την ανάρτηση, δείξαμε ένα από άκρο σε άκρο παράδειγμα φιλοξενίας μιας επίδειξης Streamlit για μια εργασία ανίχνευσης αντικειμένων χρησιμοποιώντας το Amazon Rekognition. Αναλύσαμε τα κίνητρα για τη δημιουργία γρήγορων εφαρμογών ιστού, τα ζητήματα ασφαλείας και τις ρυθμίσεις που απαιτούνται για την εκτέλεση της δικής μας εφαρμογής Streamlit στο Studio. Τέλος, τροποποιήσαμε το μοτίβο διεύθυνσης URL στο πρόγραμμα περιήγησής μας για να ξεκινήσουμε μια ξεχωριστή περίοδο λειτουργίας μέσω του διακομιστή μεσολάβησης AWS Jupyter.
Αυτή η επίδειξη σάς επιτρέπει να ανεβάσετε οποιαδήποτε εικόνα και να οπτικοποιήσετε τα αποτελέσματα από το Amazon Rekognition. Τα αποτελέσματα υποβάλλονται επίσης σε επεξεργασία και μπορείτε να κάνετε λήψη ενός αρχείου CSV με όλα τα πλαίσια οριοθέτησης μέσω της εφαρμογής. Μπορείτε να επεκτείνετε αυτό το έργο για να σχολιάσετε και να επισημάνετε το δικό σας σύνολο δεδομένων ή να τροποποιήσετε τον κώδικα για να παρουσιάσετε το προσαρμοσμένο μοντέλο σας!
Σχετικά με τους Συγγραφείς
Dipika Khullar είναι Μηχανικός ML στο Εργαστήριο Amazon ML Solutions. Βοηθά τους πελάτες να ενσωματώσουν λύσεις ML για να λύσουν τα επιχειρηματικά τους προβλήματα. Πιο πρόσφατα, έχει δημιουργήσει αγωγούς εκπαίδευσης και συμπερασμάτων για πελάτες μέσων και προγνωστικά μοντέλα για το μάρκετινγκ.
Μαρσέλο Αμπέρλε είναι Μηχανικός ML στον οργανισμό AWS AI. Οδηγεί τις προσπάθειες των MLOps στο Εργαστήριο Amazon ML Solutions, βοηθώντας τους πελάτες να σχεδιάσουν και να εφαρμόσουν κλιμακούμενα συστήματα ML. Η αποστολή του είναι να καθοδηγήσει τους πελάτες στο ταξίδι της επιχείρησης ML και να επιταχύνει την πορεία τους ML προς την παραγωγή.
Γιας Σαχ είναι Επιστημονικός Διευθυντής στο Εργαστήριο Amazon ML Solutions. Αυτός και η ομάδα του από εφαρμοσμένους επιστήμονες και μηχανικούς ML εργάζονται σε μια σειρά περιπτώσεων χρήσης ML από την υγειονομική περίθαλψη, τον αθλητισμό, την αυτοκινητοβιομηχανία και την κατασκευή.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- Platoblockchain. Web3 Metaverse Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/build-streamlit-apps-in-amazon-sagemaker-studio/
- :είναι
- $UP
- 100
- 7
- a
- πάνω από
- επιταχύνουν
- πρόσβαση
- Λογαριασμός
- απέναντι
- διαχειριστές
- AI
- Όλα
- διατεθεί
- επιτρέπει
- Amazon
- Amazon EC2
- Αναγνώριση Amazon
- Amazon Sage Maker
- Στούντιο Amazon SageMaker
- και
- κάποιος
- app
- εφαρμογές
- εφαρμοσμένος
- εφαρμογές
- αρχιτεκτονική
- ΕΙΝΑΙ
- AS
- άποψη
- συσχετισμένη
- At
- Πιστοποίηση
- αυτομάτως
- αυτοκινήτων
- AWS
- BE
- οφέλη
- Μπλοκ
- ώθηση
- κουτιά
- πρόγραμμα περιήγησης
- χτίζω
- Κτίριο
- χτισμένο
- επιχείρηση
- by
- κρύπτη
- CAN
- περιπτώσεις
- αλλαγή
- αλλαγή
- έλεγχος
- Επιλέξτε
- Backup
- κωδικός
- συνεργάζομαι
- Ελάτε
- πλήρης
- ολοκλήρωση
- Υπολογίστε
- θεωρήσεις
- πρόξενος
- ελέγχους
- αποδοτική
- Δικαστικά έξοδα
- δημιουργία
- δημιουργία
- έθιμο
- Πελάτες
- ημερομηνία
- επιστημονικά δεδομένα
- επιστήμονας δεδομένων
- Προεπιλογή
- απαιτήσεις
- Demos
- παρατάσσω
- Υπηρεσίες
- λεπτομερής
- Ανίχνευση
- ανάπτυξη
- Εργολάβος
- ανάπτυξη
- Ανάπτυξη
- διαφορετικές
- Λιμενεργάτης
- τομέα
- κάτω
- κατεβάσετε
- αυτοκίνητο
- δυναμικά
- κάθε
- ευκολότερη
- εύκολα
- προσπάθειες
- από άκρη σε άκρη
- μηχανικός
- Μηχανικοί
- Εταιρεία
- Περιβάλλον
- Even
- παράδειγμα
- υφιστάμενα
- υπάρχει
- επεκτείνουν
- Χαρακτηριστικά
- ανατροφοδότηση
- Αρχεία
- Αρχεία
- Τελικά
- Όνομα
- Συγκέντρωση
- Εξής
- Για
- Βρέθηκαν
- Δωρεάν
- από
- κερδίζει
- παίρνω
- να πάρει
- καθοδηγήσει
- Σκληρά
- σκληρό δίσκο
- Έχω
- που έχει
- υγειονομική περίθαλψη
- χρήσιμο
- βοήθεια
- βοηθά
- οικοδεσπότης
- φιλοξενία
- Πως
- Πώς να
- HTML
- HTTPS
- ID
- εικόνα
- εφαρμογή
- βελτιωθεί
- in
- πληροφορίες
- Υποδομή
- κινήσει
- ιδέες
- εγκαθιστώ
- εγκατασταθεί
- εγκατάσταση
- παράδειγμα
- αντί
- ενσωματώσει
- ενσωματωθεί
- αλληλεπιδρούν
- διεπαφές
- IT
- ταξίδι
- jpg
- Διατήρηση
- εργαστήριο
- επιγραφή
- ξεκινήσει
- που οδηγεί
- μάθηση
- Βιβλιοθήκη
- κύκλος ζωής
- LINK
- Λιστα
- Ακούγοντας
- Μακριά
- μηχανή
- μάθηση μηχανής
- κάνω
- ΚΑΝΕΙ
- Κατασκευή
- διαχείριση
- διαχείριση
- διευθυντής
- Διευθυντές
- διαχείριση
- τρόπος
- χειροκίνητα
- κατασκευής
- Μάρκετινγκ
- Ενδέχεται..
- Εικόνες / Βίντεο
- Γνωρίστε
- Μνήμη
- ενδέχεται να
- ελάχιστος
- Αποστολή
- ML
- MLOps
- μοντέλο
- μοντέλα
- τροποποιημένο
- τροποποιήσει
- ενότητες
- παρακολούθηση
- περισσότερο
- πλέον
- κίνητρα
- πολλαπλούς
- Πλοήγηση
- Ανάγκη
- ανάγκες
- επόμενη
- σημειωματάριο
- αριθμός
- αντικείμενο
- Ανίχνευση αντικειμένων
- of
- on
- ανοίξτε
- ανοικτού κώδικα
- επιχειρήσεις
- σκιαγραφείται
- περιγράφει
- δική
- Packages
- παράθυρο
- μονοπάτι
- πρότυπο
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- δυνατός
- Θέση
- προβλήματα
- διαδικασια μας
- Επεξεργασμένο
- Διεργασίες
- παραγωγή
- Προφίλ ⬇️
- Πρόοδος
- σχέδιο
- έργα
- πληρεξούσιο
- σκοποί
- Python
- Γρήγορα
- σειρά
- μάλλον
- πραγματικός
- σε πραγματικό χρόνο
- πρόσφατα
- Αποθήκη
- απαιτείται
- απαιτήσεις
- Υποστηρικτικό υλικό
- Αποτελέσματα
- τρέξιμο
- τρέξιμο
- σοφός
- ίδιο
- Οικονομίες
- Απεριόριστες δυνατότητες
- επεκτάσιμη
- Επιστήμη
- Επιστήμονας
- επιστήμονες
- Εφαρμογές
- προστατευμένο περιβάλλον
- ασφάλεια
- ξεχωριστό
- εξυπηρετούν
- Συνεδρίαση
- σειρά
- ρυθμίσεις
- setup
- Κοινοποίηση
- Shared
- μοιράζονται
- κέλυφος
- θα πρέπει να
- βιτρίνα
- παρουσιάζεται
- Δείχνει
- small
- So
- λύση
- Λύσεις
- SOLVE
- Πηγή
- Χώρος
- χώρων
- Αθλητισμός
- Εκκίνηση
- Ξεκινήστε
- Κατάσταση
- Βήμα
- Βήματα
- κατάστημα
- καταστήματα
- εξορθολογισμό
- στούντιο
- Επιτυχώς
- υποστήριξη
- σύστημα
- συστήματα
- Έργο
- ομάδες
- τερματικό
- ότι
- Η
- Η Πηγη
- τους
- Τους
- Αυτοί
- Μέσω
- ώρα
- χρονοβόρος
- προς την
- εκπαιδευμένο
- Εκπαίδευση
- ui
- Φορτώθηκε
- URL
- us
- Χρήση
- χρήση
- Χρήστες
- Χρήστες
- επαληθεύει
- εκδοχή
- Δες
- ιστός
- εφαρμογές ιστού
- πρόγραμμα περιήγησης στο Web
- Τι
- Ποιό
- ενώ
- Ο ΟΠΟΊΟΣ
- θα
- με
- εντός
- χωρίς
- Εργασία
- εργαζόμενος
- Εσείς
- Σας
- zephyrnet