Εξέλιξη Κομματιού
Εισαγωγή
- Εισαγωγή στο TensorFlow και το deep learning
- Χρήση και εφαρμογές του TensorFlow
- Οικοσύστημα εργαλείων του TensorFlow
- Ροές εργασιών machine learning και deep learning
- Επισκόπηση των στόχων του μαθήματος και των πρακτικών ασκήσεων
TensorFlow 2.x έναντι Προηγούμενων Εκδόσεων — Τι Είναι Νέο
- Βασικές διαφορές μεταξύ TensorFlow 1.x και 2.x
- Άμεση εκτέλεση (Eager execution)
- Απλοποιημένα API και βελτιωμένη χρηστικότητα
- Αλλαγές στη δομή και την εκπαίδευση των μοντέλων
- Εισαγωγή στο Keras ως υψηλού επιπέδου API
- Συσχετίσεις μετεξέλιξης για υπάρχουσες εφαρμογές TensorFlow
- Καλύτερες πρακτικές για το TensorFlow 2.x
Ρύθμιση του TensorFlow 2.x
- Εγκατάσταση του TensorFlow
- Ρύθμιση ενός περιβάλλοντος Python
- Προσαρμογή της εγκατάστασης του TensorFlow
- Εγκατάσταση και διαχείριση απαιτούμενων εξαρτησιών
- Ρύθμιση περιβαλλόντων CPU και GPU
- Χρήση του TensorFlow με notebooks Jupyter
- Βασικές εντολές και λειτουργίες του TensorFlow
- Διαχείριση προβλημάτων εγκατάστασης και ρύθμισης
Επισκόπηση Λειτουργιών και Αρχιτεκτονικής του TensorFlow 2.x
- Αρχιτεκτονική και βασικά συστατικά του TensorFlow
- Τενσώρες και πράξεις σε τενσώρες
- Μεταβλητές και σταθερές
- Υπολογιστικοί γραφήματα και άμεση εκτέλεση
- Αυτόματη παραγώγιση
- API και modules του TensorFlow
- Ενσωμάτωση Keras
- Ροές δεδομένων με
tf.data - Σειραποίηση μοντέλων και TensorFlow SavedModel
- Οικοσύστημα και ροή ανάπτυξης του TensorFlow
Πώς Λειτουργούν τα Νευρωνικά Δίκτυα
- Βασικά στοιχεία των τεχνητών νευρωνικών δικτύων
- Νευρώνες, στρώσεις και αρχιτεκτονικές δικτύου
- Λειτουργίες ενεργοποίησης
- Κατάνομη (Forward propagation)
- Λειτουργίες κόστους (Loss functions)
- Πινακοποίηση (Backpropagation)
- Κάθοδος κλίσης και βελτιστοποίηση
- Ποσοστά μάθησης και στρατηγικές βελτιστοποίησης
- Υπερσυγχρονισμός και υποσυγχρονισμός
- Τεχνικές κανονικοποίησης
- Συνόλα δεδομένων εκπαίδευσης, έλεγχου και δοκιμής
Χρήση του TensorFlow 2.x για Δημιουργία Μοντέλων Deep Learning
- Δημιουργία τενσών και μεταβλητών
- Δημιουργία νευρωνικών δικτύων με το Keras
- Σειριακά και συνθετικά API μοντέλων
- Ορισμός προσαρμοσμένων μοντέλων και στρώσεων
- Ρύθμιση βελτιστοποιητών
- Επιλογή κατάλληλων λειτουργιών κόστους
- Εκπαίδευση μοντέλων με
fit() - Προσαρμοσμένες βρόχοι εκπαίδευσης
- Επίκλητες (Callbacks) και παρακολούθηση εκπαίδευσης
- Διαχείριση σημείων ελέγχου (checkpoints) μοντέλου
Ανάλυση Δεδομένων
- Κατανόηση των συνόλων δεδομένων για machine learning
- Εξερεύνηση δομημένων και μη δομημένων δεδομένων
- Οπτικοποίηση δεδομένων
- Αναγνώριση μοτίβων και ανωμαλιών
- Διαχείριση λειπόντων και ασυνεπών δεδομένων
- Διαχωρισμός δεδομένων σε συνόλα εκπαίδευσης, έλεγχου και δοκιμής
- Επιλογή σχετικών χαρακτηριστικών
- Ετοιμασία συνόλων δεδομένων για μοντέλα TensorFlow
Προεπεξεργασία Δεδομένων
- Κανονικοποίηση και τυποποίηση δεδομένων
- Κωδικοποίηση κατηγορηματικών δεδομένων
- Διαχείριση λειπόντων τιμών
- Κλίμακα χαρακτηριστικών
- Προεπεξεργασία εικόνων
- Προεπεξεργασία κειμένου
- Διάσταση δεδομένων
- Δημιουργία αποδοτικών ροών εισόδου
- Χρήση του
tf.data - Μετατόπιση, ανακάτεμα, διαχείριση και προεξαγωγή
- Προετοιμασία δεδομένων για εκπαίδευση μοντέλου
Δημιουργία Μοντέλου
- Επιλογή κατάλληλης αρχιτεκτονικής νευρωνικού δικτύου
- Ορισμός εισόδων και εξόδων του μοντέλου
- Δημιουργία πυκνών νευρωνικών δικτύων
- Επιλογή λειτουργιών ενεργοποίησης
- Ρύθμιση του μοντέλου για εκπαίδευση
- Επιλογή βελτιστοποιητών και λειτουργιών κόστους
- Εκπαίδευση και έλεγχος του μοντέλου
- Παρακολούθηση μετρικών εκπαίδευσης
- Βελτίωση της απόδοσης του μοντέλου
- Πρόληψη υπερσυγχρονισμού
- Εφαρμογή κανονικοποίησης και dropout
Εφαρμογή Προηγμένου Ταξινομητή Εικόνων
- Βασικά στοιχεία της ταξινόμησης εικόνων
- Ετοιμασία συνόλων δεδομένων εικόνων
- Κανονικοποίηση και διάσταση εικόνων
- Συρροϊκά νευρωνικά δίκτυα
- Στρώσεις συρροής και διαρροής (pooling)
- Σχεδιασμός αρχιτεκτονικής ταξινόμησης εικόνων
- Μεταμαθηματική μάθηση (Transfer learning)
- Χρήση προεκπαιδευμένων μοντέλων
- Επιδρομική προσαρμογή (Fine-tuning) προεκπαιδευμένων δικτύων
- Δημιουργία προηγμένου ταξινομητή εικόνων
- Αξιολόγηση της απόδοσης της ταξινόμησης
Εκπαίδευση του Μοντέλου
- Ρύθμιση παραμετρών εκπαίδευσης
- Μέγεθος παρτίδας και εποχές (epochs)
- Επιλογή βελτιστοποιητή
- Προγραμματισμός ποσοστού μάθησης
- Επίκλητες εκπαίδευσης
- Πρόωρη διακοπή (Early stopping)
- Δημιουργία σημείων ελέγχου μοντέλου
- Παρακολούθηση προόδου εκπαίδευσης
- Αναγνώριση υπερσυγχρονισμού
- Βελτίωση της απόδοσης εκπαίδευσης
- Συσχετίσεις αποκεντρωμένης εκπαίδευσης
Εκπαίδευση σε GPU έναντι TPU
- Αρχιτεκτονικές CPU, GPU και TPU
- Πλεονεκτήματα της υλικής επιτάχυνσης
- Ρύθμιση του TensorFlow για εκπαίδευση σε GPU
- Κατανόηση εκπαίδευσης με βάση TPU
- Επιλογή υλικού για διαφορετικά φορτία εργασίας
- Μεταφορά υπολογισμών μεταξύ συσκευών
- Διαχείριση μνήμης και υπολογιστικών πόρων
- Σύγκριση απόδοσης εκπαίδευσης
- Στρατηγικές αποκεντρωμένης και επιταχυνόμενης εκπαίδευσης
Αξιολόγηση του Μοντέλου
- Επιλογή κατάλληλων μετρικών αξιολόγησης
- Ακρίβεια, ακρίβεια, ανακάλυψη και F1 score
- Μετρικές αξιολόγησης παλινδρόμησης
- Πίνακες σύγχυσης (Confusion matrices)
- Στρατηγικές ελέγχου
- Αξιολόγηση μοντέλων ταξινόμησης
- Αξιολόγηση γενίκευσης μοντέλου
- Αναγνώριση αδυναμιών μοντέλου
- Σύγκριση διαφορετικών ρυθμίσεων μοντέλου
Κάνοντας Προβλέψεις
- Χρήση εκπαιδευμένων μοντέλων για συμπερασματολογία (inference)
- Προετοιμασία νέων δεδομένων εισόδου
- Εκτέλεση προβλέσεων παρτίδας και ατομικών προβλέψεων
- Ερμηνεία εξόδων μοντέλου
- Πιθανότητες ταξινόμησης
- Προβλέψεις παλινδρόμησης
- Δημιουργία ροής inference
- Διαχείριση άγνωστων δεδομένων
- Διαχείριση ροών προβλέψεων
Αξιολόγηση των Προβολών
- Ανάλυση ποιότητας προβλέψεων
- Σύγκριση προβλέψεων με αναμενόμενα αποτελέσματα
- Αναγνώριση ψευδών θετικών και ψευδών αρνητικών
- Ανάλυση σφαλμάτων
- Αξιολόγηση αυτοπεποίθησης μοντέλου
- Οπτικοποίηση αποτελεσμάτων προβλέψεων
- Αναγνώριση 편όστικων δεδομένων και προβλέψεων
- Βελτίωση απόδοσης μοντέλου με βάση ανάλυση προβλέψεων
Παράδειγμα Δεδομένων
- Αναγνώριση κοινών προβλημάτων εκπαίδευσης
- Διάγνωση ακριβών προβλέψεων
- Παράδειγμα δεδομένων ροών δεδομένων
- Ερευνα συμπεριφοράς κόστους και μετρικών
- Αναγνώριση εκρηκτικών και σβενουσών κλίσεων
- Διάγνωση υπερσυγχρονισμού και υποσυγχρονισμού
- Εξερεύνηση στρώσεων και εξόδων μοντέλου
- Χρήση εργαλείων παράδειγμα δεδομένων και προφίλ του TensorFlow
- Βελτίωση σταθερότητας και απόδοσης μοντέλου
Αποθήκευση Μοντέλου
- Αποθήκευση εκπαιδευμένων μοντέλων
- Διαμόρφωση TensorFlow SavedModel
- Αποθήκευση και επαναφορά βαρών μοντέλου
- Αποθήκευση αρχιτεκτονικής και ρυθμίσεων μοντέλου
- Φόρτωση μοντέλων για inference
- Διαχείριση εκδόσεων μοντέλου
- Εξαγωγή μοντέλων για διάθεση
- Διαχείριση τεκμηρίων μοντέλου
- Προετοιμασία μοντέλων για παραγωγικά περιβάλλοντα
Διάθεση Μοντέλου στο Cloud
- Εισαγωγή στη διάθεση μοντέλου στο cloud
- Προετοιμασία μοντέλων TensorFlow για παραγωγή
- Υπηρεσία μοντέλων μέσω API
- Συνθήκες υπηρεσίας μοντέλου
- Containerization εφαρμογών TensorFlow
- Inference σε cloud
- Κλίμακα φορτίου υπηρεσίας μοντέλου
- Παρακολούθηση διατεθέντων μοντέλων
- Διαχείριση εκδόσεων μοντέλου
- Συσχετίσεις παραγωγικής διάθεσης
Διάθεση Μοντέλου σε Φορητή Συσκευή
- Προκλήσεις mobile machine learning
- TensorFlow Lite
- Μετατροπή μοντέλων TensorFlow για διάθεση σε mobile
- Βελτιστοποίηση μοντέλου και μείωση μεγέθους
- Ποσοτικοποίηση
- Εκτέλεση inference σε φορητές συσκευές
- Διαχείριση πόρων φορητής συσκευής
- Ενσωμάτωση μοντέλων σε mobile εφαρμογές
- Δοκιμή απόδοσης inference σε mobile
Διάθεση Μοντέλου σε Επεξελιδμένη Συσκευή (IoT)
- Machine learning σε επεξευόμενες συσκευές
- TensorFlow Lite για εφαρμογές embedded
- Περιορισμοί πόρων και βελτιστοποίηση
- Μείωση μεγέθους και υπολογιστικών απαιτήσεων μοντέλου
- Inference σε άκρη (Edge inference)
- Επεξεργασία δεδομένων αισθητήρων και real-time δεδομένων
- Εκτέλεση προβλέψεων τοπικά
- Συσχετίσεις ισχύος και μνήμης
- Ενσωμάτωση μοντέλων TensorFlow σε ροές IoT
- Δοκιμή και παρακολούθηση διαθεσιμότητας edge
Ενσωμάτωση Μοντέλου σε Διαφορετικές Γλώσσες
- Διαμορφимость μοντέλων TensorFlow
- Υπηρεσία μοντέλων μέσω API
- Χρήση μοντέλων TensorFlow από διαφορετικά περιβάλλοντα προγραμματισμού
- Ενσωμάτωση μοντέλου βασισμένης σε Python
- Ενσωμάτωση μοντέλων σε web εφαρμογές
- Inference μοντέλου μέσω REST-based υπηρεσιών
- Ενσωμάτωση TensorFlow σε υπάρχουσες εφαρμογές
- Ανταλλαγή και σειραποίηση δεδομένων
- Συσχετίσεις παραγωγικής ενσωμάτωσης
Παράδειγμα Δεδομένων
- Διάγνωση προβλημάτων εγκατάστασης TensorFlow
- Παράδειγμα δεδομένων σφαλμάτων δημιουργίας μοντέλου
- Παράδειγμα δεδομένων προβλημάτων προεπεξεργασίας δεδομένων
- Ανέση αποτυχιών εκπαίδευσης
- Ερευνα προβλημάτων ρύθμισης GPU και TPU
- Διάγνωση προβλημάτων μνήμης και απόδοσης
- Παράδειγμα δεδομένων φόρτωσης και αποθήκευσης μοντέλου
- Παράδειγμα δεδομένων προβλημάτων διάθεσης
- Πρακτικές ασκήσεις παράδειγμα δεδομένων
Σύνοψη και Συμπέρασμα
- Ανασκόπηση εννοιών TensorFlow 2.x
- Ανασκόπηση ροών εργασιών νευρωνικών δικτύων και deep learning
- Ανασκόπηση προετοιμασίας δεδομένων και ανάπτυξης μοντέλου
- Ανασκόπηση ταξινόμησης εικόνων
- Ανασκόπηση τεχνικών εκπαίδευσης και αξιολόγησης
- Ανασκόπηση παράδειγμα δεδομένων και βελτιστοποίησης μοντέλου
- Ανασκόπηση διάθεσης σε cloud, mobile και IoT
- Καλύτερες πρακτικές για ανάπτυξη με TensorFlow
- Τελική πρακτική άσκηση
- Ερωτήσεις και συζήτηση
Απαιτήσεις
- Εμπειρία προγραμματισμού σε Python.
- Εμπειρία στη γραμμή εντολών του Linux.
Κόσμος Πελατών
- Προγραμματιστές
- Επιστήμονες Δεδομένων
Σχόλια (4)
Η κατάρτιση ήταν οργανωμένη και λεπτομερώς προγραμματισμένη, και αποκτήσαμε συστηματική γνώση και ένα εξαίρετο εγχειρίδιο των θεμάτων που μελετήσαμε.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Κομμάτι - Deep Learning with TensorFlow 2
Μηχανική Μετάφραση
Η γνώση του εκπαιδευτή και η προσιτότητά τους. Μπορούσαν να μεταφέρουν εύκολα σημαντική γνώση
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Κομμάτι - Deep Learning with TensorFlow 2
Μηχανική Μετάφραση
Μου άρεσε που κάλυψαμε τα βασικά επίσης
Tomasz - Samsung Electronics Polska Sp. z o.o.
Κομμάτι - Deep Learning with TensorFlow 2
Μηχανική Μετάφραση
Ο εκπαιδευτής εξηγήσε το περιεχόμενο καλά και ήταν απασχολωτικός σε όλη τη διάρκεια. Διέκοψε για να θέτει ερωτήσεις και μας επέτρεψε να βρούμε τις δικές μας λύσεις σε μερικά πρακτικά εργασίες. Επίσης, προσαρμόστηκε καλά το μαθήμα για τις ανάγκες μας.
Robert Baker
Κομμάτι - Deep Learning with TensorFlow 2.0
Μηχανική Μετάφραση