Ας ξεκινήσουμε αυτό το σεμινάριο με την εισαγωγή του TensorFlow:
Τι είναι το TensorFlow;
Το TensorFlow είναι μια πλατφόρμα ανοιχτού κώδικα από άκρο σε άκρο για τη δημιουργία εφαρμογών Machine Learning. Πρόκειται για μια συμβολική βιβλιοθήκη μαθηματικών που χρησιμοποιεί ροή δεδομένων και διαφοροποιημένο προγραμματισμό για την εκτέλεση διαφόρων εργασιών που επικεντρώνονται στην εκπαίδευση και την εξαγωγή συμπερασμάτων σε βαθιά νευρωνικά δίκτυα. Επιτρέπει στους προγραμματιστές να δημιουργούν εφαρμογές μηχανικής μάθησης χρησιμοποιώντας διάφορα εργαλεία, βιβλιοθήκες και πόρους κοινότητας.
Επί του παρόντος, η πιο διάσημη βιβλιοθήκη βαθιάς μάθησης στον κόσμο είναι το TensorFlow της Google. Το προϊόν Google χρησιμοποιεί μηχανική εκμάθηση σε όλα τα προϊόντα του για τη βελτίωση της μηχανής αναζήτησης, της μετάφρασης, της λεζάντας ή των προτάσεων.
Για να δώσουμε ένα συγκεκριμένο παράδειγμα, οι χρήστες του Google μπορούν να βιώσουν μια ταχύτερη και πιο εκλεπτυσμένη αναζήτηση με AI. Εάν ο χρήστης πληκτρολογήσει μια λέξη-κλειδί στη γραμμή αναζήτησης, το Google παρέχει μια πρόταση για το ποια θα μπορούσε να είναι η επόμενη λέξη.
Η Google θέλει να χρησιμοποιήσει τη μηχανική εκμάθηση για να εκμεταλλευτεί τα τεράστια σύνολα δεδομένων τους για να προσφέρει στους χρήστες την καλύτερη εμπειρία. Τρεις διαφορετικές ομάδες χρησιμοποιούν μηχανική εκμάθηση:
- Ερευνητές
- Επιστήμονες δεδομένων
- Προγραμματιστές.
Όλοι μπορούν να χρησιμοποιήσουν το ίδιο σύνολο εργαλείων για να συνεργαστούν μεταξύ τους και να βελτιώσουν την αποτελεσματικότητά τους.
Η Google δεν έχει μόνο δεδομένα. Έχουν τον πιο τεράστιο υπολογιστή στον κόσμο, οπότε το Tensor Flow δημιουργήθηκε σε κλίμακα. Το TensorFlow είναι μια βιβλιοθήκη που αναπτύχθηκε από την Ομάδα του Google Brain για να επιταχύνει τη μηχανική μάθηση και την έρευνα σε βαθύ νευρωνικό δίκτυο.
Κατασκευάστηκε για να λειτουργεί σε πολλές CPU ή GPU και ακόμη και λειτουργικά συστήματα κινητής τηλεφωνίας, και έχει πολλά περιτυλίγματα σε πολλές γλώσσες όπως Python, C ++ ή Java.
Σε αυτό το σεμινάριο TensorFlow, θα μάθετε
- Τι είναι το TensorFlow;
- Ιστορία του TensorFlow
- Πώς λειτουργεί το TensorFlow
- Αρχιτεκτονική TensorFlow
- Πού μπορεί να τρέξει το Tensorflow;
- Εισαγωγή στα συστατικά του TensorFlow
- Γιατί το TensorFlow είναι δημοφιλές;
- Λίστα γνωστών αλγορίθμων που υποστηρίζονται από το TensorFlow
- Απλό παράδειγμα TensorFlow
- Επιλογές για φόρτωση δεδομένων στο TensorFlow
- Δημιουργία αγωγού Tensorflow
Ιστορία του TensorFlow
Πριν από μερικά χρόνια, η βαθιά μάθηση άρχισε να ξεπερνά όλους τους άλλους αλγορίθμους μηχανικής μάθησης όταν δίνει ένα τεράστιο ποσό δεδομένων. Η Google είδε ότι θα μπορούσε να χρησιμοποιήσει αυτά τα βαθιά νευρωνικά δίκτυα για να βελτιώσει τις υπηρεσίες της:
- Gmail
- φωτογραφία
- Μηχανή αναζήτησης Google
Χτίζουν ένα πλαίσιο που ονομάζεται Tensorflow για να επιτρέπουν στους ερευνητές και τους προγραμματιστές να συνεργάζονται σε ένα μοντέλο AI. Μόλις αναπτυχθεί και κλιμακωθεί, επιτρέπει σε πολλούς να το χρησιμοποιούν.
Δημοσιεύτηκε για πρώτη φορά στα τέλη του 2015, ενώ η πρώτη σταθερή έκδοση εμφανίστηκε το 2017. Είναι ανοιχτού κώδικα με άδεια Apache Open Source. Μπορείτε να τη χρησιμοποιήσετε, να την τροποποιήσετε και να αναδιανείμετε την τροποποιημένη έκδοση με χρέωση χωρίς να πληρώσετε τίποτα στην Google.
Στη συνέχεια, σε αυτό το σεμινάριο μάθησης TensorFlow Deep, θα μάθουμε για την αρχιτεκτονική TensorFlow και πώς λειτουργεί το TensorFlow.
Πώς λειτουργεί το TensorFlow
Το TensorFlow σάς δίνει τη δυνατότητα να δημιουργήσετε γραφήματα και δομές ροής δεδομένων για να καθορίσετε τον τρόπο με τον οποίο τα δεδομένα κινούνται μέσω ενός γραφήματος λαμβάνοντας εισόδους ως μια πολυδιάστατη συστοιχία που ονομάζεται Tensor. Σας επιτρέπει να δημιουργήσετε ένα διάγραμμα ροής λειτουργιών που μπορούν να εκτελεστούν σε αυτές τις εισόδους, η οποία πηγαίνει στο ένα άκρο και έρχεται στο άλλο άκρο ως έξοδος.
Αρχιτεκτονική TensorFlow
Η αρχιτεκτονική Tensorflow λειτουργεί σε τρία μέρη:
- Προεπεξεργασία των δεδομένων
- Δημιουργήστε το μοντέλο
- Εκπαιδεύστε και εκτιμήστε το μοντέλο
Ονομάζεται Tensorflow επειδή παίρνει είσοδο ως πολυδιάστατη συστοιχία, επίσης γνωστή ως tensors . Μπορείτε να δημιουργήσετε ένα είδος διαγράμματος ροών λειτουργιών (που ονομάζεται γράφημα) που θέλετε να εκτελέσετε σε αυτήν την είσοδο. Η είσοδος εισέρχεται στο ένα άκρο και στη συνέχεια ρέει μέσω αυτού του συστήματος πολλαπλών λειτουργιών και βγαίνει στο άλλο άκρο ως έξοδος.
Αυτός είναι ο λόγος που ονομάζεται TensorFlow επειδή ο τανυστής πηγαίνει μέσα του ρέει μέσω μιας λίστας λειτουργιών και στη συνέχεια βγαίνει από την άλλη πλευρά.
Πού μπορεί να τρέξει το Tensorflow;
Οι απαιτήσεις υλικού και λογισμικού TensorFlow μπορούν να ταξινομηθούν σε
Φάση ανάπτυξης: Αυτό συμβαίνει όταν εκπαιδεύετε τη λειτουργία. Η προπόνηση γίνεται συνήθως σε επιτραπέζιο ή φορητό υπολογιστή.
Run Phase ή Inference Phase: Μόλις ολοκληρωθεί η εκπαίδευση, το Tensorflow μπορεί να εκτελεστεί σε πολλές διαφορετικές πλατφόρμες. Μπορείτε να το εκτελέσετε
- Επιφάνεια εργασίας με Windows, macOS ή Linux
- Cloud ως υπηρεσία ιστού
- Κινητές συσκευές όπως iOS και Android
Μπορείτε να το εκπαιδεύσετε σε πολλά μηχανήματα και στη συνέχεια να το εκτελέσετε σε διαφορετικό μηχάνημα, αφού έχετε το εκπαιδευμένο μοντέλο.
Το μοντέλο μπορεί να εκπαιδευτεί και να χρησιμοποιηθεί σε GPU καθώς και σε CPU. Οι GPU είχαν αρχικά σχεδιαστεί για βιντεοπαιχνίδια. Στα τέλη του 2010, οι ερευνητές του Στάνφορντ διαπίστωσαν ότι η GPU ήταν επίσης πολύ καλή στις λειτουργίες matrix και στην άλγεβρα, ώστε να τους κάνει πολύ γρήγορους για να κάνουν τέτοιου είδους υπολογισμούς. Η βαθιά μάθηση βασίζεται σε πολλούς πολλαπλασιασμούς μήτρας. Το TensorFlow είναι πολύ γρήγορο στον υπολογισμό του πολλαπλασιασμού της μήτρας επειδή είναι γραμμένο σε C ++. Αν και εφαρμόζεται σε C ++, το TensorFlow μπορεί να προσεγγιστεί και να ελεγχθεί από άλλες γλώσσες κυρίως, το Python.
Τέλος, ένα σημαντικό χαρακτηριστικό του TensorFlow είναι το TensorBoard. Το TensorBoard επιτρέπει την παρακολούθηση γραφικά και οπτικά τι κάνει το TensorFlow.
Εισαγωγή στα συστατικά του TensorFlow
Τανύων μύς
Το όνομα του Tensorflow προέρχεται άμεσα από το βασικό του πλαίσιο: Tensor . Στο Tensorflow, όλοι οι υπολογισμοί περιλαμβάνουν τανυστές. Ένας τανυστής είναι ένας φορέας ή μήτρα η-διαστάσεων που αντιπροσωπεύει όλους τους τύπους δεδομένων. Όλες οι τιμές σε έναν τανυστή διατηρούν τον ίδιο τύπο δεδομένων με ένα γνωστό (ή μερικώς γνωστό) σχήμα . Το σχήμα των δεδομένων είναι η διάσταση του πίνακα ή του πίνακα.
Ένας τανυστής μπορεί να προέρχεται από τα δεδομένα εισόδου ή από το αποτέλεσμα ενός υπολογισμού. Στο TensorFlow, όλες οι λειτουργίες εκτελούνται μέσα σε ένα γράφημα . Το γράφημα είναι ένα σύνολο υπολογισμού που λαμβάνει χώρα διαδοχικά. Κάθε λειτουργία ονομάζεται κόμβος op και συνδέονται μεταξύ τους.
Το γράφημα περιγράφει τα ops και τις συνδέσεις μεταξύ των κόμβων. Ωστόσο, δεν εμφανίζει τις τιμές. Το άκρο των κόμβων είναι ο τανυστής, δηλαδή ένας τρόπος για να συμπληρώσετε τη λειτουργία με δεδομένα.
Γραφικές παραστάσεις
Το TensorFlow χρησιμοποιεί ένα πλαίσιο γραφήματος. Το γράφημα συγκεντρώνει και περιγράφει όλους τους υπολογισμούς σειράς που έγιναν κατά τη διάρκεια της προπόνησης. Το γράφημα έχει πολλά πλεονεκτήματα:
- Αυτό έγινε για να εκτελεστεί σε πολλαπλές CPU ή GPU και ακόμη και λειτουργικό σύστημα για κινητά
- Η φορητότητα του γραφήματος επιτρέπει τη διατήρηση των υπολογισμών για άμεση ή μεταγενέστερη χρήση. Το γράφημα μπορεί να αποθηκευτεί για εκτέλεση στο μέλλον.
- Όλοι οι υπολογισμοί στο γράφημα γίνονται συνδέοντας τους τανυστές μεταξύ τους
- Ένας τανυστής έχει έναν κόμβο και ένα άκρο. Ο κόμβος εκτελεί τη μαθηματική λειτουργία και παράγει εξόδους τελικών σημείων. Οι άκρες οι άκρες εξηγούν τις σχέσεις εισόδου / εξόδου μεταξύ κόμβων.
Γιατί το TensorFlow είναι δημοφιλές;
Το TensorFlow είναι η καλύτερη βιβλιοθήκη απ 'όλα γιατί είναι φτιαγμένη για πρόσβαση σε όλους. Η βιβλιοθήκη Tensorflow ενσωματώνει διαφορετικά API για ενσωματωμένη αρχιτεκτονική βαθιάς μάθησης όπως CNN ή RNN. Το TensorFlow βασίζεται σε υπολογισμό γραφήματος. επιτρέπει στον προγραμματιστή να απεικονίσει την κατασκευή του νευρικού δικτύου με το Tensorboad. Αυτό το εργαλείο είναι χρήσιμο για τον εντοπισμό σφαλμάτων του προγράμματος. Τέλος, το Tensorflow είναι σχεδιασμένο για ανάπτυξη σε κλίμακα. Τρέχει σε CPU και GPU.
Το Tensorflow προσελκύει τη μεγαλύτερη δημοτικότητα στο GitHub σε σύγκριση με το άλλο πλαίσιο βαθιάς μάθησης.
Λίστα γνωστών αλγορίθμων που υποστηρίζονται από το TensorFlow
Παρακάτω είναι η υποστηριζόμενη λίστα αλγορίθμων TensorFlow:
Επί του παρόντος, το TensorFlow 1.10 διαθέτει ενσωματωμένο API για:
- Γραμμική παλινδρόμηση: tf.estimator.LinearRegressor
- Ταξινόμηση: tf.estimator.LinearClassifier
- Βαθμολογία βαθιάς μάθησης: tf.estimator.DNNClassifier
- Βαθιά μάθηση σκουπίστε και βαθιά: tf.estimator.DNNLinearCombinedClassifier
- Ενίσχυση παλινδρόμησης δέντρου: tf.estimator. BoostedTreesRegressor
- Ενισχυμένη ταξινόμηση δέντρου: tf.estimator.BoostedTreesClassifier
Απλό παράδειγμα TensorFlow
import numpy as npimport tensorflow as tf
Στις δύο πρώτες γραμμές κώδικα, έχουμε εισαγάγει tensorflow ως tf. Με το Python, είναι συνήθης πρακτική να χρησιμοποιείτε ένα σύντομο όνομα για μια βιβλιοθήκη. Το πλεονέκτημα είναι να αποφύγετε να πληκτρολογήσετε το πλήρες όνομα της βιβλιοθήκης όταν πρέπει να τη χρησιμοποιήσουμε. Για παράδειγμα, μπορούμε να εισαγάγουμε tensorflow ως tf και να καλέσουμε tf όταν θέλουμε να χρησιμοποιήσουμε μια λειτουργία tensorflow
Ας εξασκήσουμε τη στοιχειώδη ροή εργασίας του Tensorflow με απλά παραδείγματα TensorFlow. Ας δημιουργήσουμε ένα υπολογιστικό γράφημα που πολλαπλασιάζει δύο αριθμούς μαζί.
Κατά τη διάρκεια του παραδείγματος, θα πολλαπλασιάσουμε τα X_1 και X_2 μαζί. Το Tensorflow θα δημιουργήσει έναν κόμβο για τη σύνδεση της λειτουργίας. Στο παράδειγμά μας, ονομάζεται πολλαπλασιασμός. Όταν προσδιοριστεί το γράφημα, οι υπολογιστικοί κινητήρες Tensorflow θα πολλαπλασιαστούν μαζί X_1 και X_2.
Παράδειγμα TensorFlow
Τέλος, θα εκτελέσουμε μια συνεδρία TensorFlow που θα εκτελέσει το υπολογιστικό γράφημα με τις τιμές X_1 και X_2 και θα εκτυπώσει το αποτέλεσμα του πολλαπλασιασμού.
Ας καθορίσουμε τους κόμβους εισόδου X_1 και X_2. Όταν δημιουργούμε έναν κόμβο στο Tensorflow, πρέπει να επιλέξουμε τι είδους κόμβο θα δημιουργήσουμε. Οι κόμβοι X1 και X2 θα είναι ένας κόμβος placeholder. Το placeholder εκχωρεί μια νέα τιμή κάθε φορά που κάνουμε έναν υπολογισμό. Θα τα δημιουργήσουμε ως κόμβο placeholder TF dot.
Βήμα 1: Ορίστε τη μεταβλητή
X_1 = tf.placeholder(tf.float32, name = "X_1")X_2 = tf.placeholder(tf.float32, name = "X_2")
Όταν δημιουργούμε έναν κόμβο placeholder, πρέπει να περάσουμε στον τύπο δεδομένων θα προσθέτουμε αριθμούς εδώ ώστε να μπορούμε να χρησιμοποιήσουμε έναν τύπο δεδομένων κινούμενου σημείου, ας χρησιμοποιήσουμε το tf.float32 Πρέπει επίσης να δώσουμε ένα όνομα σε αυτόν τον κόμβο. Αυτό το όνομα θα εμφανίζεται όταν εξετάζουμε τις γραφικές απεικονίσεις του μοντέλου μας. Ας ονομάσουμε αυτόν τον κόμβο X_1 περνώντας σε μια παράμετρο που ονομάζεται όνομα με τιμή X_1 και τώρα ας ορίσουμε το X_2 με τον ίδιο τρόπο. X_2.
Βήμα 2: Ορίστε τον υπολογισμό
multiply = tf.multiply(X_1, X_2, name = "multiply")
Τώρα μπορούμε να ορίσουμε τον κόμβο που κάνει τη λειτουργία πολλαπλασιασμού. Στο Tensorflow μπορούμε να το κάνουμε αυτό δημιουργώντας έναν tf.multiply κόμβο.
Θα περάσουμε στους κόμβους X_1 και X_2 στον κόμβο πολλαπλασιασμού. Λέει στο tensorflow να συνδέσει αυτούς τους κόμβους στο υπολογιστικό γράφημα, οπότε το ζητάμε να τραβήξει τις τιμές από x και y και να πολλαπλασιάσει το αποτέλεσμα. Ας δώσουμε επίσης στον κόμβο πολλαπλασιασμού το όνομα πολλαπλασιάζεται. Είναι ολόκληρος ο ορισμός για το απλό υπολογιστικό γράφημα.
Βήμα 3: Εκτελέστε τη λειτουργία
Για να εκτελέσουμε λειτουργίες στο γράφημα, πρέπει να δημιουργήσουμε μια συνεδρία. Στο Tensorflow, γίνεται από το tf.Session (). Τώρα που έχουμε μια συνεδρία, μπορούμε να ζητήσουμε από τη συνεδρία να εκτελέσει λειτουργίες στο υπολογιστικό γράφημα καλώντας τη συνεδρία Για να εκτελέσουμε τον υπολογισμό, πρέπει να χρησιμοποιήσουμε το τρέξιμο.
Όταν εκτελείται η λειτουργία προσθήκης, θα δει ότι πρέπει να αρπάξει τις τιμές των κόμβων X_1 και X_2, επομένως πρέπει επίσης να τροφοδοτούμε τιμές για τις τιμές X_1 και X_2. Μπορούμε να το κάνουμε παρέχοντας μια παράμετρο που ονομάζεται feed_dict. Περνάμε την τιμή 1,2,3 για X_1 και 4,5,6 για X_2.
Εκτυπώνουμε τα αποτελέσματα με εκτύπωση (αποτέλεσμα). Θα πρέπει να δούμε 4, 10 και 18 για 1x4, 2x5 και 3x6
X_1 = tf.placeholder(tf.float32, name = "X_1")X_2 = tf.placeholder(tf.float32, name = "X_2")multiply = tf.multiply(X_1, X_2, name = "multiply")with tf.Session() as session:result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})print(result)
[ 4. 10. 18.]
Επιλογές για φόρτωση δεδομένων στο TensorFlow
Το πρώτο βήμα πριν από την εκπαίδευση ενός αλγορίθμου μηχανικής μάθησης είναι η φόρτωση των δεδομένων. Υπάρχει ένας τρόπος κοινής φόρτωσης δεδομένων:
1. Φόρτωση δεδομένων στη μνήμη: Είναι η απλούστερη μέθοδος. Φορτώνετε όλα τα δεδομένα σας στη μνήμη ως έναν ενιαίο πίνακα. Μπορείτε να γράψετε έναν κωδικό Python. Αυτές οι γραμμές κώδικα δεν σχετίζονται με το Tensorflow.
2. Αγωγός δεδομένων Tensorflow. Το Tensorflow διαθέτει ενσωματωμένο API που σας βοηθά να φορτώνετε τα δεδομένα, να εκτελείτε τη λειτουργία και να τροφοδοτείτε εύκολα τον αλγόριθμο μηχανικής εκμάθησης. Αυτή η μέθοδος λειτουργεί πολύ καλά ειδικά όταν έχετε ένα μεγάλο σύνολο δεδομένων. Για παράδειγμα, οι εγγραφές εικόνας είναι γνωστό ότι είναι τεράστιες και δεν χωρά στη μνήμη. Ο αγωγός δεδομένων διαχειρίζεται τη μνήμη από μόνη της
Ποια λύση να χρησιμοποιήσετε;
Φόρτωση δεδομένων στη μνήμη
Εάν το σύνολο δεδομένων σας δεν είναι πολύ μεγάλο, δηλαδή λιγότερο από 10 gigabyte, μπορείτε να χρησιμοποιήσετε την πρώτη μέθοδο. Τα δεδομένα μπορούν να χωρέσουν στη μνήμη. Μπορείτε να χρησιμοποιήσετε μια διάσημη βιβλιοθήκη που ονομάζεται Pandas για να εισαγάγετε αρχεία CSV. Θα μάθετε περισσότερα για τα pandas στο επόμενο σεμινάριο.
Φόρτωση δεδομένων με τον αγωγό Tensorflow
Η δεύτερη μέθοδος λειτουργεί καλύτερα αν έχετε ένα μεγάλο σύνολο δεδομένων. Για παράδειγμα, εάν έχετε ένα σύνολο δεδομένων 50 gigabyte και ο υπολογιστής σας έχει μόνο 16 gigabytes μνήμης, τότε το μηχάνημα θα διακοπεί.
Σε αυτήν την περίπτωση, πρέπει να δημιουργήσετε έναν αγωγό Tensorflow. Ο αγωγός θα φορτώσει τα δεδομένα σε παρτίδες ή μικρά κομμάτια. Κάθε παρτίδα θα ωθηθεί στον αγωγό και θα είναι έτοιμη για την προπόνηση. Η κατασκευή ενός αγωγού είναι μια εξαιρετική λύση επειδή σας επιτρέπει να χρησιμοποιείτε παράλληλους υπολογιστές. Αυτό σημαίνει ότι το Tensorflow θα εκπαιδεύσει το μοντέλο σε πολλούς CPU. Προωθεί τον υπολογισμό και επιτρέπει την εκπαίδευση ισχυρού νευρικού δικτύου.
Θα δείτε στα επόμενα σεμινάρια για το πώς να δημιουργήσετε έναν σημαντικό αγωγό για να τροφοδοτήσετε το νευρωνικό σας δίκτυο.
Με λίγα λόγια, εάν έχετε ένα μικρό σύνολο δεδομένων, μπορείτε να φορτώσετε τα δεδομένα στη μνήμη με τη βιβλιοθήκη Pandas.
Εάν έχετε ένα μεγάλο σύνολο δεδομένων και θέλετε να χρησιμοποιήσετε πολλές CPU, τότε θα είστε πιο άνετοι να εργαστείτε με τον αγωγό Tensorflow.
Δημιουργία αγωγού Tensorflow
Στο προηγούμενο παράδειγμα, προσθέτουμε μη αυτόματα τρεις τιμές για X_1 και X_2. Τώρα θα δούμε πώς να φορτώσουμε δεδομένα στο Tensorflow.
Βήμα 1) Δημιουργήστε τα δεδομένα
Πρώτα απ 'όλα, ας χρησιμοποιήσουμε numpy βιβλιοθήκη για να δημιουργήσουμε δύο τυχαίες τιμές.
import numpy as npx_input = np.random.sample((1,2))print(x_input)
[[0.8835775 0.23766977]]
Βήμα 2) Δημιουργήστε το σύμβολο κράτησης θέσης
Όπως και στο προηγούμενο παράδειγμα, δημιουργούμε ένα σύμβολο κράτησης θέσης με το όνομα X. Πρέπει να καθορίσουμε ρητά το σχήμα του τανυστή. Σε περίπτωση που θα φορτώσουμε έναν πίνακα με δύο μόνο τιμές. Μπορούμε να γράψουμε το σχήμα ως σχήμα = [1,2]
# using a placeholderx = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
Βήμα 3) Ορίστε τη μέθοδο συνόλου δεδομένων
Στη συνέχεια, πρέπει να ορίσουμε το σύνολο δεδομένων όπου μπορούμε να συμπληρώσουμε την τιμή του placeholder x. Πρέπει να χρησιμοποιήσουμε τη μέθοδο tf.data.Dataset.from_tensor_slices
dataset = tf.data.Dataset.from_tensor_slices(x)
Βήμα 4) Δημιουργήστε τον αγωγό
Στο βήμα τέσσερα, πρέπει να προετοιμάσουμε τον αγωγό όπου θα ρέουν τα δεδομένα. Πρέπει να δημιουργήσουμε έναν επαναληπτικό με το make_initializable_iterator. Το ονομάζουμε επαναληπτικό. Τότε πρέπει να καλέσουμε αυτόν τον επαναληπτή για να τροφοδοτήσουμε την επόμενη παρτίδα δεδομένων, get_next. Ονομάζουμε αυτό το βήμα get_next. Σημειώστε ότι στο παράδειγμά μας, υπάρχει μόνο μία δέσμη δεδομένων με δύο μόνο τιμές.
iterator = dataset.make_initializable_iterator()get_next = iterator.get_next()
Βήμα 5) Εκτελέστε τη λειτουργία
Το τελευταίο βήμα είναι παρόμοιο με το προηγούμενο παράδειγμα. Ξεκινάμε μια περίοδο λειτουργίας και εκτελούμε τον επαναληπτικό λειτουργίας. Τροφοδοτούμε το feed_dict με την τιμή που δημιουργείται από το numpy Αυτές οι δύο τιμές θα συμπληρώσουν το σύμβολο κράτησης θέσης x. Στη συνέχεια εκτελούμε το get_next για να εκτυπώσουμε το αποτέλεσμα.
with tf.Session() as sess:# feed the placeholder with datasess.run(iterator.initializer, feed_dict={ x: x_input })print(sess.run(get_next)) # output [ 0.52374458 0.71968478]
[0.8835775 0.23766978]
Περίληψη
TensorFlow έννοια: Το TensorFlow είναι η πιο διάσημη βιβλιοθήκη βαθιάς μάθησης τα τελευταία χρόνια. Ένας επαγγελματίας που χρησιμοποιεί το TensorFlow μπορεί να δημιουργήσει οποιαδήποτε δομή βαθιάς μάθησης, όπως CNN, RNN ή απλό τεχνητό νευρικό δίκτυο.
Το TensorFlow χρησιμοποιείται κυρίως από ακαδημαϊκούς, νεοσύστατες επιχειρήσεις και μεγάλες εταιρείες. Η Google χρησιμοποιεί το TensorFlow σε σχεδόν όλα τα καθημερινά προϊόντα της Google, όπως το Gmail, η φωτογραφία και η μηχανή αναζήτησης Google.
Το TensorFlow ανέπτυξε την ομάδα του Google Brain για να καλύψει το κενό μεταξύ ερευνητών και προγραμματιστών προϊόντων. Το 2015, δημοσιοποίησαν το TensorFlow. αυξάνεται ραγδαία σε δημοτικότητα. Σήμερα, το TensorFlow είναι η βιβλιοθήκη βαθιάς μάθησης με τα περισσότερα αποθετήρια στο GitHub.
Οι ασκούμενοι χρησιμοποιούν το Tensorflow επειδή είναι εύκολο να αναπτυχθεί σε κλίμακα. Είναι κατασκευασμένο για να λειτουργεί στο cloud ή σε κινητές συσκευές όπως iOs και Android.
Το Tensorflow λειτουργεί σε μια συνεδρία. Κάθε συνεδρία ορίζεται από ένα γράφημα με διαφορετικούς υπολογισμούς. Ένα απλό παράδειγμα μπορεί να είναι ο πολλαπλασιασμός στον αριθμό. Στο Tensorflow απαιτούνται τρία βήματα:
- Ορίστε τη μεταβλητή
X_1 = tf.placeholder(tf.float32, name = "X_1")X_2 = tf.placeholder(tf.float32, name = "X_2")
- Ορίστε τον υπολογισμό
multiply = tf.multiply(X_1, X_2, name = "multiply")
- Εκτελέστε τη λειτουργία
with tf.Session() as session:result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})print(result)
Μία κοινή πρακτική στο Tensorflow είναι η δημιουργία αγωγού για τη φόρτωση των δεδομένων. Εάν ακολουθήσετε αυτά τα πέντε βήματα, θα μπορείτε να φορτώσετε δεδομένα στο TensorFLow
- Δημιουργήστε τα δεδομένα
import numpy as npx_input = np.random.sample((1,2))print(x_input)
- Δημιουργήστε το σύμβολο κράτησης θέσης
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
- Ορίστε τη μέθοδο συνόλου δεδομένων
dataset = tf.data.Dataset.from_tensor_slices(x)
- Δημιουργήστε τον αγωγό
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
- Εκτελέστε το πρόγραμμα
with tf.Session() as sess:sess.run(iterator.initializer, feed_dict={ x: x_input })print(sess.run(get_next))