Tensor Flow

Το **TensorFlow** είναι μαθηματική βιβλιοθήκη την οποία ανέπτυξε η Google Brain, ομάδα τεχνητής νοημοσύνης της Google, αρχικά για εσωτερική χρήση. Σκοπός της δημιουργίας της ήταν η διευκόλυνση διαδικασιών όπως ο προγραμματισμός ροής δεδομένων, ενώ βρήκε χρήση και στην μηχανική μάθηση έχοντας ως παράδειγμα τα νευρωνικά δίκτυα. Η δημόσια διανομή του TensorFlow έγινε τον Νοέμβριο του 2015 κάτω από την άδεια ανοιχτού λογισμικού της Apache (Apache 2.0 Open Source License).

## Ιστορία
Αρχικά η ομάδα της Google δημιούργησε το λογισμικό DistBelief ως ιδιόκτητο σύστημα μηχανικής μάθησης όπου βρήκε απήχηση σε διάφορες εταιρίες τόσο για έρευνα όσο και για εμπορική χρήση. Στην πορεία ανέθεσε την απλοποίηση και την αναδιάταξη του κώδικα του DistBelief σε διάφορους αναγνωρισμένους επιστήμονες της πληροφορικής, συμπεριλαμβανόμενου του Jeff Dean (επικεφαλής του Google.ai), στοχεύοντας  σε μια γρηγορότερη και ισχυρότερη βιβλιοθήκη, με αποτέλεσμα τη γέννηση του TensorFlow.

Το TensorFlow είναι σύστημα δεύτερης γενιάς. Η πρώτη επίσημη έκδοση με αριθμό 1.0.0 δημοσιεύθηκε τον Φεβρουάριο του 2017. Η ευέλικτη αρχιτεκτονική του TensorFlow καθιστά δυνατή την εύκολη ανάπτυξη υπολογισμών σε μια ποικιλία πλατφορμών, από υπολογιστές έως και κινητά.  Μπορεί να εκμεταλλευτεί την υπολογιστική ισχύ πολλαπλών επεξεργαστών και καρτών γραφικών (αξιοποιώντας και διάφορες τεχνολογίες όπως CUDA). Είναι διαθέσιμο σε λογισμικά 64-bit όπως το Linux, τα Windows, το macOS και ακόμα και σε λογισμικά κινητών όπως το Android και το iOS. Οι υπολογισμοί του TensorFlow εκφράζονται ως στατικά διαγράμματα ροής δεδομένων και το όνομα του προκύπτει από τις διαδικασίες που εκτελούν τα νευρωνικά δίκτυα στους πολυδιάστατους πίνακες δεδομένων. Αυτοί οι πίνακες αναφέρονται ως "tensors".

## Επεξεργαστική Μονάδα Tensor
Μετά την πρώτη δημόσια διανομή τον Νοέμβριο του 2015, η Google ανέπτυξε μια ειδικά σχεδιασμένη μονάδα επεξεργασίας στα πρότυπα της βιβλιοθήκης, την οποία και χρησιμοποιούσε στα κέντρα δεδομένων της πάνω από ένα χρόνο πριν την ανακοίνωση της πρώτης έκδοσης το 2016. Η Google διαπίστωσε πως με τη χρήση του TPU (Tensor Processing Unit) είχε μεγαλύτερη απόδοση για κάθε watt ενέργειας κατά τη διάρκεια της αξιοποίησης του στη μηχανική μάθηση. Αυτό οφείλεται στο γεγονός πως πρόκειται για μια προγραμματιζόμενη μονάδα επεξεργασίας με σκοπό την επιτάχυνση της τεχνητής νοημοσύνης, καθώς προσφέρει υψηλή απόδοση επεξεργασίας σε συνδυασμό με αποτελεσματικότητα με όσον δυνατόν χαμηλότερη μαθηματική ακρίβεια (για παράδειγμα η χρήση 8-bit) και στρέφεται προς την εκτέλεση και τη χρήση των μοντέλων από το να τα εκπαιδεύει.

Το Μάιο του 2017, ανακοινώθηκε η δεύτερη γενιά επεξεργαστών με υπολογιστική ισχύ του καθενός μέχρι και 180 teraflops(10^12) απόδοσης. Με τη δεύτερη γενιά η Google έκανε διαθέσιμη την χρήση των TPU μέσω της υπηρεσίας εικονικών μηχανημάτων, Google Compute Engine και τον Φεβρουάριο του 2018 ανακοίνωσε την beta έκδοση τους στην υπηρεσία Google Cloud Platform.

## Εφαρμογές που αξιοποιούν το TensorFlow
Το TensorFlow έχει μεγάλο εύρος εφαρμογής σε applications μεγάλης κλίμακας και φυσικά δεν περιορίζεται μέχρι εκεί.

Η Google χρησιμοποιεί τη βιβλιοθήκη της σε αρκετά από τα εργαλεία της με αναφορά στα Google Photos και στην αναγνώριση φωνής στα Google App της σε γενικό βαθμό.

Μερικές όμως από τις καλύτερες αξιοποιήσεις της βρίσκονται σε συστήματα όπως :

* Deep Speech Ένα σύστημα φωνητικής αναγνώρισης που αναπτύχθηκε από τον οργανισμό της Mozilla και πρόκειται για ένα σύστημα εμπνευσμένο από την αρχιτεκτονική του Baidu’s Deep Speech.
* RankBrain Πρόκειται για έναν αλγόριθμο τεχνητής νοημοσύνης που αποτελεί σημαντικό κομμάτι της μηχανής αναζήτησης της Google και είναι υπεύθυνο για την κατάταξη των ιστοσελίδων.
* SmartReply  Μια εφαρμογή της Google που αυτόματα δημιουργεί και στέλνει απαντήσεις σε Email πλατφόρμες.
* Massively Multitask Networks for Drug Discovery Δημιουργήθηκε από την Google σε συνεργασία με το Πανεπιστήμιο Στάνφορντ. Το μοντέλο αυτό έχει τη δυνατότητα να επιταχύνει την ανακάλυψη και δημιουργία νέων φαρμάκων.

Μερικές από τις εταιρίες που υιοθέτησαν τη βιβλιοθήκη TensorFlow στα project τους :

* AirBnB
* Amd
* Nvidia
* Uber
* Linkedin
* DropBox
* Ebay
* Intel
* Airbus(Defense and Space)
* IBM Power Systems

## Παραπομπές


## Πηγές
* Linux Foundation 
* OpenSource Article
* Επίσημη ιστοσελίδα 
* Github

Κατηγορία:Google (λογισμικά)
Κατηγορία:Βιβλιοθήκες υπολογιστών
Κατηγορία:Ελεύθερο λογισμικό
Κατηγορία:Στατιστικό λογισμικό