Τι είναι το TensorFlow; Πως δουλεύει? Εισαγωγή & Archiδομή

Ας ξεκινήσουμε αυτό το σεμινάριο με την εισαγωγή του TensorFlow:

Τι είναι το TensorFlow;

TensorFlow είναι μια πλατφόρμα ανοιχτού κώδικα από άκρο σε άκρο για τη δημιουργία εφαρμογών Machine Learning. Είναι μια συμβολική βιβλιοθήκη μαθηματικών που χρησιμοποιεί ροή δεδομένων και διαφοροποιήσιμο προγραμματισμό για την εκτέλεση διαφόρων εργασιών που εστιάζονται στην εκπαίδευση και την εξαγωγή συμπερασμάτων σε βαθιά νευρωνικά δίκτυα. Επιτρέπει στους προγραμματιστές να δημιουργούν εφαρμογές μηχανικής εκμάθησης χρησιμοποιώντας διάφορα εργαλεία, βιβλιοθήκες και πόρους της κοινότητας.

Επί του παρόντος, η πιο διάσημη βιβλιοθήκη βαθιάς μάθησης στον κόσμο είναι η TensorFlow της Google. Το προϊόν Google χρησιμοποιεί μηχανική εκμάθηση σε όλα τα προϊόντα του για να βελτιώσει τη μηχανή αναζήτησης, τη μετάφραση, τους υπότιτλους εικόνων ή τις προτάσεις.

Παράδειγμα TensorFlow

Για να δώσουμε ένα συγκεκριμένο παράδειγμα, οι χρήστες της Google μπορούν να βιώσουν μια ταχύτερη και πιο εκλεπτυσμένη εμπειρία αναζήτησης με AI. Εάν ο χρήστης πληκτρολογήσει μια λέξη-κλειδί στη γραμμή αναζήτησης, η Google παρέχει μια σύσταση σχετικά με το ποια θα μπορούσε να είναι η επόμενη λέξη.

Παράδειγμα TensorFlow
Παράδειγμα TensorFlow

Η Google θέλει να χρησιμοποιήσει τη μηχανική εκμάθηση για να εκμεταλλευτεί τα τεράστια σύνολα δεδομένων της για να προσφέρει στους χρήστες την καλύτερη εμπειρία. Τρεις διαφορετικές ομάδες χρησιμοποιούν μηχανική μάθηση:

  • Ερευνητές
  • Επιστήμονες δεδομένων
  • Προγραμματιστές

Μπορούν όλοι να χρησιμοποιήσουν το ίδιο σύνολο εργαλείων για να συνεργαστούν μεταξύ τους και να βελτιώσουν την αποτελεσματικότητά τους.

Η Google δεν έχει απλώς δεδομένα. έχουν τον πιο τεράστιο υπολογιστή στον κόσμο, έτσι το Tensor Flow κατασκευάστηκε σε κλίμακα. Το TensorFlow είναι μια βιβλιοθήκη που αναπτύχθηκε από την Google Brain Team για να επιταχύνει τη μηχανική μάθηση και την έρευνα σε βαθιά νευρωνικά δίκτυα.

Κατασκευάστηκε για να τρέχει σε πολλαπλές CPU ή GPU, ακόμη και λειτουργικά συστήματα για κινητά, και έχει πολλά περιτυλίγματα σε πολλές γλώσσες όπως Python, C++ or Java.

Ιστορία του TensorFlow

Πριν από μερικά χρόνια, η βαθιά εκμάθηση άρχισε να ξεπερνά όλους τους άλλους αλγόριθμους μηχανικής εκμάθησης όταν παρέχει τεράστιο όγκο δεδομένων. Η Google είδε ότι θα μπορούσε να χρησιμοποιήσει αυτά τα βαθιά νευρωνικά δίκτυα για να βελτιώσει τις υπηρεσίες της:

  • Gmail
  • φωτογραφία
  • Μηχανή αναζήτησης Google

Χτίζουν ένα πλαίσιο που ονομάζεται Τάση ροής να επιτρέψει σε ερευνητές και προγραμματιστές να συνεργαστούν σε ένα μοντέλο AI. Μόλις αναπτυχθεί και κλιμακωθεί, επιτρέπει σε πολλούς ανθρώπους να το χρησιμοποιούν.

Δημοσιεύτηκε για πρώτη φορά στα τέλη του 2015, ενώ η πρώτη σταθερή έκδοση εμφανίστηκε το 2017. Είναι ανοιχτού κώδικα με άδεια Apache Open Source. Μπορείτε να το χρησιμοποιήσετε, να το τροποποιήσετε και να αναδιανείμετε την τροποποιημένη έκδοση έναντι χρέωσης χωρίς να πληρώσετε τίποτα στην Google.

Στη συνέχεια, σε αυτό το σεμινάριο Deep Learning του TensorFlow, θα μάθουμε για την αρχιτεκτονική του TensorFlow και πώς λειτουργεί το TensorFlow.

Πώς λειτουργεί το TensorFlow

Το TensorFlow σάς δίνει τη δυνατότητα να δημιουργήσετε γραφήματα ροής δεδομένων και δομές για να καθορίσετε τον τρόπο με τον οποίο τα δεδομένα κινούνται μέσα σε ένα γράφημα λαμβάνοντας εισόδους ως έναν πολυδιάστατο πίνακα που ονομάζεται Tensor. Σας επιτρέπει να δημιουργήσετε ένα διάγραμμα ροής λειτουργιών που μπορούν να εκτελεστούν σε αυτές τις εισόδους, το οποίο πηγαίνει στο ένα άκρο και έρχεται στο άλλο άκρο ως έξοδος.

TensorFlow Archiδομή

Η αρχιτεκτονική Tensorflow λειτουργεί σε τρία μέρη:

  • Προεπεξεργασία των δεδομένων
  • Δημιουργήστε το μοντέλο
  • Εκπαιδεύστε και υπολογίστε το μοντέλο

Ονομάζεται Tensorflow επειδή λαμβάνει είσοδο ως πολυδιάστατο πίνακα, γνωστό και ως τεντωτήρες. Μπορείτε να κατασκευάσετε ένα είδος ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ των λειτουργιών (που ονομάζονται Γράφημα) που θέλετε να εκτελέσετε σε αυτήν την είσοδο. Η είσοδος μπαίνει στο ένα άκρο, και στη συνέχεια ρέει μέσω αυτού του συστήματος πολλαπλών λειτουργιών και βγαίνει από το άλλο άκρο ως έξοδο.

Αυτός είναι ο λόγος για τον οποίο ονομάζεται TensorFlow επειδή ο τανυστής εισέρχεται σε αυτό ρέει μέσω μιας λίστας λειτουργιών και μετά βγαίνει από την άλλη πλευρά.

Πού μπορεί να τρέξει το Tensorflow;

Υλικό TensorFlow και απαιτήσεις λογισμικού μπορεί να ταξινομηθεί σε

Φάση ανάπτυξης: Είναι όταν εκπαιδεύετε τη λειτουργία. Η εκπαίδευση γίνεται συνήθως στον Επιτραπέζιο ή φορητό υπολογιστή σας.

Φάση εκτέλεσης ή Φάση συμπερασμάτων: Μόλις ολοκληρωθεί η εκπαίδευση, το Tensorflow μπορεί να εκτελεστεί σε πολλές διαφορετικές πλατφόρμες. Μπορείτε να το εκτελέσετε

  • Τρέχουσα επιφάνεια εργασίας Windows, macOS ή Linux
  • Το cloud ως υπηρεσία ιστού
  • Κινητές συσκευές όπως το iOS και Android

Μπορείτε να το εκπαιδεύσετε σε πολλαπλές μηχανές, στη συνέχεια μπορείτε να το εκτελέσετε σε διαφορετικό μηχάνημα, αφού έχετε το εκπαιδευμένο μοντέλο.

Το μοντέλο μπορεί να εκπαιδευτεί και να χρησιμοποιηθεί σε GPU καθώς και σε CPU. Οι GPU αρχικά σχεδιάστηκαν για βιντεοπαιχνίδια. Στα τέλη του 2010, οι ερευνητές του Stanford ανακάλυψαν ότι η GPU ήταν επίσης πολύ καλή στις λειτουργίες μήτρας και στην άλγεβρα, έτσι ώστε να είναι πολύ γρήγοροι για να κάνουν τέτοιου είδους υπολογισμούς. Η βαθιά μάθηση βασίζεται σε πολύ πολλαπλασιασμό πινάκων. Το TensorFlow είναι πολύ γρήγορο στον υπολογισμό του πολλαπλασιασμού του πίνακα επειδή είναι γραμμένος C++. Αν και εφαρμόζεται σε C++, Το TensorFlow μπορεί να προσπελαστεί και να ελέγχεται από άλλες γλώσσες κυρίως, Python.

Τέλος, ένα σημαντικό χαρακτηριστικό του TensorFlow είναι το TensorBoard. ο TensorBoard επιτρέπει την παρακολούθηση γραφικά και οπτικά τι κάνει το TensorFlow.

Στοιχεία TensorFlow

τανύων μύς

Το όνομα του Tensorflow προέρχεται άμεσα από το βασικό του πλαίσιο: τανύων μύς. Στο Tensorflow, όλοι οι υπολογισμοί περιλαμβάνουν τανυστές. Ένας τανυστής είναι α διάνυσμα or μήτρα n-διαστάσεων που αντιπροσωπεύουν όλους τους τύπους δεδομένων. Όλες οι τιμές σε έναν τανυστή διατηρούν τον ίδιο τύπο δεδομένων με έναν γνωστό (ή μερικώς γνωστό) σχήμα. Το σχήμα των δεδομένων είναι η διάσταση του πίνακα ή του πίνακα.

Ένας τανυστής μπορεί να προέρχεται από τα δεδομένα εισόδου ή το αποτέλεσμα ενός υπολογισμού. Στο TensorFlow, όλες οι λειτουργίες εκτελούνται μέσα σε ένα γραφική παράσταση. Το γράφημα είναι ένα σύνολο υπολογισμών που πραγματοποιείται διαδοχικά. Κάθε πράξη ονομάζεται an κόμβος op και συνδέονται μεταξύ τους.

Το γράφημα περιγράφει τις λειτουργίες και τις συνδέσεις μεταξύ των κόμβων. Ωστόσο, δεν εμφανίζει τις τιμές. Η άκρη των κόμβων είναι ο τανυστής, δηλαδή ένας τρόπος να συμπληρωθεί η λειτουργία με δεδομένα.

Διαγράμματα

Το TensorFlow χρησιμοποιεί ένα πλαίσιο γραφήματος. Το γράφημα συγκεντρώνει και περιγράφει όλους τους σειριακούς υπολογισμούς που έγιναν κατά τη διάρκεια της εκπαίδευσης. Το γράφημα έχει πολλά πλεονεκτήματα:

  • Έγινε για να τρέχει σε πολλαπλές CPU ή GPU, ακόμη και λειτουργικό σύστημα κινητής τηλεφωνίας
  • Η φορητότητα του γραφήματος επιτρέπει τη διατήρηση των υπολογισμών για άμεση ή μεταγενέστερη χρήση. Το γράφημα μπορεί να αποθηκευτεί για να εκτελεστεί στο μέλλον.
  • Όλοι οι υπολογισμοί στο γράφημα γίνονται συνδέοντας τανυστές μεταξύ τους
    • Ένας τανυστής έχει έναν κόμβο και μια άκρη. Ο κόμβος μεταφέρει τη μαθηματική πράξη και παράγει εξόδους τελικών σημείων. Οι άκρες των ακμών εξηγούν τις σχέσεις εισόδου/εξόδου μεταξύ των κόμβων.

Γιατί το TensorFlow είναι δημοφιλές;

Το TensorFlow είναι η καλύτερη βιβλιοθήκη από όλες γιατί είναι φτιαγμένη για να είναι προσβάσιμη σε όλους. Η βιβλιοθήκη Tensorflow ενσωματώνει διαφορετικά API για να κατασκευαστεί σε κλίμακα αρχιτεκτονική βαθιάς μάθησης όπως το CNN ή το RNN. Το TensorFlow βασίζεται σε υπολογισμό γραφήματος. Επιτρέπει στον προγραμματιστή να οπτικοποιήσει την κατασκευή του νευρωνικού δικτύου με το Tensorboad. Αυτό το εργαλείο είναι χρήσιμο για τον εντοπισμό σφαλμάτων του προγράμματος. Τέλος, το Tensorflow έχει κατασκευαστεί για να αναπτύσσεται σε κλίμακα. Λειτουργεί σε CPU και GPU.

Το Tensorflow προσελκύει τη μεγαλύτερη δημοτικότητα στο GitHub σε σύγκριση με το άλλο πλαίσιο βαθιάς εκμάθησης.

TensorFlow Algorithms

Παρακάτω είναι οι αλγόριθμοι που υποστηρίζονται από το TensorFlow:

Επί του παρόντος, το TensorFlow 1.10 διαθέτει ενσωματωμένο API για:

  • Γραμμική παλινδρόμηση: tf.estimator.LinearRegressor
  • Ταξινόμηση:tf.estimator.LinearClassifier
  • Ταξινόμηση βαθιάς μάθησης: tf.estimator.DNNClassifier
  • Deep learning wipe and deep: tf.estimator.DNNLinearCombinedClassifier
  • Παλινδρόμηση Booster Trees: tf.estimator.BoostedTreesRegressor
  • Ταξινόμηση ενισχυμένων δέντρων: tf.estimator.BoostedTreesClassifier

Πώς λειτουργούν οι υπολογισμοί στο TensorFlow

import numpy as np
import tensorflow as tf

Στις δύο πρώτες γραμμές κώδικα, έχουμε εισαγάγει tensorflow ως tf. Με Python, είναι κοινή πρακτική η χρήση σύντομου ονόματος για μια βιβλιοθήκη. Το πλεονέκτημα είναι να αποφύγουμε να πληκτρολογήσουμε το πλήρες όνομα της βιβλιοθήκης όταν πρέπει να το χρησιμοποιήσουμε. Για παράδειγμα, μπορούμε να εισαγάγουμε tensorflow ως tf και να καλέσουμε tf όταν θέλουμε να χρησιμοποιήσουμε μια συνάρτηση tensorflow

Ας εξασκήσουμε τη στοιχειώδη ροή εργασίας του Tensorflow με απλά παραδείγματα TensorFlow. Ας δημιουργήσουμε ένα υπολογιστικό γράφημα που πολλαπλασιάζει δύο αριθμούς μαζί.

Κατά τη διάρκεια του παραδείγματος, θα πολλαπλασιάσουμε τα X_1 και X_2 μαζί. Το Tensorflow θα δημιουργήσει έναν κόμβο για τη σύνδεση της λειτουργίας. Στο παράδειγμά μας, ονομάζεται πολλαπλασιασμός. Όταν καθοριστεί το γράφημα, οι υπολογιστικές μηχανές Tensorflow θα πολλαπλασιαστούν μεταξύ τους X_1 και X_2.

Οι υπολογισμοί λειτουργούν στο TensorFlow
Παράδειγμα TensorFlow

Τέλος, θα εκτελέσουμε μια συνεδρία TensorFlow που θα εκτελέσει το υπολογιστικό γράφημα με τις τιμές των X_1 και X_2 και θα εκτυπώσει το αποτέλεσμα του πολλαπλασιασμού.

Ας ορίσουμε τους κόμβους εισόδου X_1 και X_2. Όταν δημιουργούμε έναν κόμβο στο Tensorflow, πρέπει να επιλέξουμε τι είδους κόμβο θα δημιουργήσουμε. Οι κόμβοι X1 και X2 θα είναι ένας κόμβος κράτησης θέσης. Το σύμβολο κράτησης θέσης εκχωρεί μια νέα τιμή κάθε φορά που κάνουμε έναν υπολογισμό. Θα τα δημιουργήσουμε ως κόμβο κράτησης θέσης κουκκίδας TF.

Βήμα 1: Ορίστε τη μεταβλητή

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

Όταν δημιουργούμε έναν κόμβο κράτησης θέσης, πρέπει να περάσουμε τον τύπο δεδομένων που θα προσθέτει αριθμούς εδώ, ώστε να μπορούμε να χρησιμοποιήσουμε έναν τύπο δεδομένων κινητής υποδιαστολής, ας χρησιμοποιήσουμε το 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(). Τώρα που έχουμε μια περίοδο λειτουργίας, μπορούμε να ζητήσουμε από τη συνεδρία να εκτελέσει λειτουργίες στο υπολογιστικό μας γράφημα καλώντας τη συνεδρία. Για να εκτελέσουμε τον υπολογισμό, πρέπει να χρησιμοποιήσουμε το run.

Όταν εκτελεστεί η λειτουργία πρόσθεσης, θα δει ότι πρέπει να αρπάξει τις τιμές των κόμβων X_1 και X_2, επομένως πρέπει επίσης να τροφοδοτήσουμε τιμές για X_1 και X_2. Μπορούμε να το κάνουμε αυτό παρέχοντας μια παράμετρο που ονομάζεται feed_dict. Περνάμε την τιμή 1,2,3 για το X_1 και 4,5,6 για το X_2.

Εκτυπώνουμε τα αποτελέσματα με print(result). Θα πρέπει να δούμε 4, 10 και 18 για 1×4, 2×5 και 3×6

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. Θα μάθετε περισσότερα για τα πάντα στο επόμενο σεμινάριο.

Φόρτωση δεδομένων με τον αγωγό Tensorflow

Η δεύτερη μέθοδος λειτουργεί καλύτερα εάν έχετε μεγάλο σύνολο δεδομένων. Για παράδειγμα, εάν έχετε ένα σύνολο δεδομένων 50 gigabyte και ο υπολογιστής σας έχει μόνο 16 gigabyte μνήμης, τότε το μηχάνημα θα διακοπεί.

Σε αυτήν την περίπτωση, πρέπει να φτιάξετε έναν αγωγό Tensorflow. Η διοχέτευση θα φορτώσει τα δεδομένα σε παρτίδα ή σε μικρό κομμάτι. Κάθε παρτίδα θα ωθηθεί στον αγωγό και θα είναι έτοιμη για την εκπαίδευση. Η κατασκευή ενός αγωγού είναι μια εξαιρετική λύση γιατί σας επιτρέπει να χρησιμοποιείτε παράλληλους υπολογιστές. Σημαίνει ότι το Tensorflow θα εκπαιδεύσει το μοντέλο σε πολλές CPU. Ενισχύει τον υπολογισμό και επιτρέπει την εκπαίδευση ισχυρού νευρωνικού δικτύου.

Θα δείτε στα επόμενα σεμινάρια για το πώς να φτιάξετε έναν σημαντικό αγωγό για να τροφοδοτήσετε το νευρωνικό σας δίκτυο.

Με λίγα λόγια, εάν έχετε ένα μικρό σύνολο δεδομένων, μπορείτε να φορτώσετε τα δεδομένα στη μνήμη με τη βιβλιοθήκη Pandas.

Εάν έχετε ένα μεγάλο σύνολο δεδομένων και θέλετε να χρησιμοποιήσετε πολλαπλές CPU, τότε θα είστε πιο άνετοι να εργαστείτε με τη διοχέτευση Tensorflow.

Πώς να δημιουργήσετε τον αγωγό TensorFlow

Ακολουθούν τα βήματα για τη δημιουργία ενός αγωγού TensorFlow:

Στο προηγούμενο παράδειγμα, προσθέσαμε μη αυτόματα τρεις τιμές για τα X_1 και X_2. Τώρα, θα δούμε πώς να φορτώνουμε δεδομένα στο Tensorflow:

Βήμα 1) Δημιουργήστε τα δεδομένα

Πρώτα απ 'όλα, ας χρησιμοποιήσουμε τη βιβλιοθήκη numpy για να δημιουργήσουμε δύο τυχαίες τιμές.

import numpy as np
x_input = np.random.sample((1,2))
print(x_input)

[[0.8835775 0.23766977]]

Βήμα 2) Δημιουργήστε το σύμβολο κράτησης θέσης

Όπως και στο προηγούμενο παράδειγμα, δημιουργούμε ένα σύμβολο κράτησης θέσης με το όνομα X. Πρέπει να καθορίσουμε ρητά το σχήμα του τανυστή. Σε περίπτωση που, θα φορτώσουμε έναν πίνακα με δύο μόνο τιμές. Μπορούμε να γράψουμε το σχήμα ως σχήμα=[1,2]

# using a placeholder
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

Βήμα 3) Καθορίστε τη μέθοδο δεδομένων

Στη συνέχεια, πρέπει να ορίσουμε το σύνολο δεδομένων όπου μπορούμε να συμπληρώσουμε την τιμή του σύμβολο κράτησης θέσης 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 με την τιμή που δημιουργείται από πολλοί. Αυτές οι δύο τιμές θα συμπληρώσουν το σύμβολο κράτησης θέσης x. Στη συνέχεια εκτελούμε το get_next για να εκτυπώσουμε το αποτέλεσμα.

with tf.Session() as sess:
    # feed the placeholder with data
    sess.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, Photo και Google Search Engine.
  • Το TensorFlow της ομάδας Google Brain ανέπτυξε το TensorFlow για να καλύψει το κενό μεταξύ των ερευνητών και των προγραμματιστών προϊόντων. Το 2015, δημοσιοποίησαν το TensorFlow. αυξάνεται ραγδαία σε δημοτικότητα. Σήμερα, το TensorFlow είναι η βιβλιοθήκη βαθιάς εκμάθησης με τα περισσότερα αποθετήρια στο GitHub.
  • Οι επαγγελματίες χρησιμοποιούν το Tensorflow επειδή είναι εύκολο να αναπτυχθεί σε κλίμακα. Είναι κατασκευασμένο για να λειτουργεί στο cloud ή σε κινητές συσκευές όπως iOS και Android.

Το Tensorflow λειτουργεί σε μια συνεδρία. Κάθε συνεδρία ορίζεται από ένα γράφημα με διαφορετικούς υπολογισμούς. Ένα απλό παράδειγμα μπορεί να είναι ο πολλαπλασιασμός σε αριθμό. Στο Tensorflow, απαιτούνται τρία βήματα:

  1. Ορίστε τη μεταβλητή
X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")
  1. Ορίστε τον υπολογισμό
multiply = tf.multiply(X_1, X_2, name = "multiply")
  1. Εκτελέστε τη λειτουργία
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:

  1. Δημιουργήστε τα δεδομένα
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
  1. Δημιουργήστε το σύμβολο κράτησης θέσης
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
  1. Καθορίστε τη μέθοδο δεδομένων
dataset = tf.data.Dataset.from_tensor_slices(x)
  1. Δημιουργήστε τον αγωγό
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
  1. Εκτελέστε το πρόγραμμα
with tf.Session() as sess:  
sess.run(iterator.initializer, feed_dict={ x: x_input })  
print(sess.run(get_next))