


Das Konzept und die Installation von TensorFlow, einem Deep-Learning-Framework
Am 9. November 2015 veröffentlichte Google das künstliche Intelligenzsystem TensorFlow und kündigte es als Open Source an.
1. Das Konzept von TensorFlow
TensorFlow ist eine Open-Source-Softwarebibliothek, die Datenflussdiagramme für numerische Berechnungen verwendet. Mit anderen Worten: TensorFlow verwendet Diagramme zur Darstellung von Rechenaufgaben. Die Knoten im Diagramm stellen mathematische Operationen dar, und die Kanten stellen mehrdimensionale Arrays (d. h. Tensoren) dar, die zur Kommunikation zwischen Operationen verwendet werden. Die flexible Architektur von TensorFlow ermöglicht es Ihnen, Rechenprozesse auf einer oder mehreren CPUs oder GPUs bereitzustellen.
TensorFlow wurde ursprünglich von Forschern und Ingenieuren des Google Brain Teams entwickelt. Es wird hauptsächlich von Googles Forschungsorganisation Machine Intelligence für maschinelles Lernen und die Erforschung tiefer neuronaler Netzwerke verwendet, aber dieses System ist auch in vielen anderen Bereichen allgemein verbreitet. .
Die abstrakte Darstellung des Modells wird automatisch vom Framework übernommen, wodurch sich TensorFlow und Theano besonders für die Entwicklung neuer Modelle auf Basis von Gradientenoptimierungsalgorithmen eignen.
Der Hauptnachteil von Theano ist die lange Kompilierungszeit des oben genannten symbolischen Modells, und TensorFlow verbessert dies effektiv, das heißt, die Kompilierungszeit ist kürzer.
Ein weiterer Vorteil von TensorFlow ist sein Support-Tool – TensorBoard, das den Trainingsprozess des Modells visualisiert. Auf diese Weise können Benutzer interaktiv die Struktur des Modells untersuchen und Änderungen der Parameter und der Modellleistung beobachten.
Die Open-Source-Version von TensorFlow kann nur auf einer Maschine ausgeführt werden, unterstützt jedoch paralleles Rechnen auf mehreren Prozessoren (CPUs oder GPUs).
1.1 Was ist ein Datenflussdiagramm?
Datenflussdiagramme verwenden gerichtete Diagramme zur Beschreibung mathematischer Berechnungen mit Punkten und Kanten im Diagramm.
Knoten führen typischerweise mathematische Berechnungen durch, können aber auch als Endpunkte zur Darstellung von Ergebnissen dienen oder persistente Variablen lesen/schreiben.
Kanten werden verwendet, um die Eingabe-/Ausgabebeziehungen zwischen Knoten zu beschreiben. Diese Kanten tragen mehrdimensionale Arrays oder Tensoren variabler Größe.
Diese Knoten werden Computergeräten zugewiesen und asynchron ausgeführt. Sobald alle Tensoren gleichzeitig eintreffen, werden parallele Berechnungen durchgeführt.
Aufgrund des Tensorflusses im Diagramm nennen wir es TensorFlow.
1.2 Funktionen von TensorFlow
Tiefe Flexibilität. TensorFlow ist keine starre neuronale Netzwerkbibliothek. Solange Sie Ihren Berechnungsprozess als Datenflussdiagramm ausdrücken können, können Sie TensorFlow verwenden. Das Definieren einer neuen Berechnung ist so einfach wie das Schreiben einer Python-Funktion und die Kosten sind nicht hoch. Wenn Sie die zugrunde liegenden Datenoperationen, die Sie benötigen, nicht sehen können, können Sie sie über C++ hinzufügen.
Echte Portabilität. TensorFlow läuft auf einer CPU oder GPU und kann auf einem Laptop, Server oder einer mobilen Computerplattform ausgeführt werden. Modelle können ohne besondere Hardware- oder Codeänderungen auf Mobilgeräten trainiert werden, und die Berechnung kann durch die Kapselung von Docker und TensorFlow in der Cloud durchgeführt werden.
Verbinden Sie Forschung und Produktion, sowohl im akademischen als auch im industriellen Bereich. Bei Google verwenden Wissenschaftler TensorFlow, um neue Algorithmen zu testen, und Produktteams verwenden TensorFlow, um Modelle für die Bedienung von Benutzern zu trainieren.
Auto-Differenzierung, automatische Identifizierung. Die automatischen Unterscheidungsfunktionen von TensorFlow sind für die Implementierung von Gradienten-basierten Algorithmen für maschinelles Lernen von Vorteil. Wenn Sie TensorFlow verwenden, definieren Sie die Berechnungsrahmenstruktur für Ihr Vorhersagemodell sowie die Zielfunktion. Anschließend müssen Sie nur noch Daten hinzufügen, und TensorFlow berechnet die Ableitung, also den Gradienten.
Sprachoptionen, Sprachauswahl. TensorFlow kann die Python-Schnittstelle und die einfache C++-Schnittstelle verwenden, um Ihre Rechendiagramme zu erstellen und auszuführen. Bei Interesse können Sie auch eine Schnittstelle in Ihrer Lieblingssprache bereitstellen – Lua, JavaScript oder R usw.
Leistung maximieren, Leistung maximieren. Mit TensorFlow können Sie die verfügbare Hardware voll ausnutzen: 32 CPU-Kerne und 4 GPU-Karten, Threads, Warteschlangen, asynchrone Berechnungen usw. Sie können die Rechenelemente im TensorFlow-Diagramm frei verschiedenen Geräten zuweisen und TensorFlow damit beauftragen.
1.3 Wer kann TensorFlow nutzen?
Studenten, Forscher, Bastler, Hacker, Ingenieure, Entwickler, Erfinder, Innovatoren und mehr.
TensorFlow ist derzeit noch nicht vollständig und muss erweitert werden. Google hat lediglich eine erste Version des Quellcodes bereitgestellt und hofft, eine aktive Open-Source-Community aufzubauen, um TensorFlow immer besser zu machen.
Zu den Unternehmen, die derzeit TensorFlow verwenden, gehören: Google, Uber, Twitter, DeepMind, JD.com usw.
1.4 Warum Open Source TensorFlow von Google?
„TensorFlow“ ist seit vielen Jahren Googles internes maschinelles Lernsystem. Jetzt macht Google dieses System zu einem Open-Source-System und veröffentlicht die Parameter dieses Systems für Industrieingenieure, Akademiker und Techniker mit zahlreichen Programmierfähigkeiten.
Die Antwort ist einfach: Google glaubt, dass maschinelles Lernen eine Schlüsselkomponente zukünftiger Innovation ist. Die Forschung in diesem Bereich ist global und entwickelt sich schnell, aber es mangelt an Standardtools. Google-Ingenieure nutzen TensorFlow, um benutzerorientierte Produkte und Dienste zu entwickeln. Das Forschungsteam von Google plant außerdem, den Implementierungsprozess von TensorFlow zu teilen.
Um eine unangemessene Metapher zu verwenden: Googles aktuelle Behandlung des TensorFlow-Systems ähnelt in gewisser Weise der Behandlung seines mobilen Betriebssystems Android. Wenn mehr Datenwissenschaftler beginnen, die Systeme von Google für die Forschung zum maschinellen Lernen zu nutzen, wird dies Google dabei helfen, eine größere Dominanz in der wachsenden Branche des maschinellen Lernens zu erlangen.
1.5 TensorFlow und Computational Biology
Für den Einsatz aktueller Deep-Learning-Methoden gibt es eine Voraussetzung: einen Datensatz mit vielen Stichproben zu haben.
Wie bei der Identifizierung von Genen oder Methylierungssonden, die mit bestimmten Krankheiten verbunden sind, ist der Probensatz sehr klein, sodass Deep Learning nicht für die Analyse verwendet werden kann. [Weinen... Ich möchte Deep Learning nur verwenden, um Krankheitsgene zu identifizieren...]
Wenn Sie ein Deep-Learning-Modell verwenden möchten, besteht der erste Schritt darin, das Problem der Darstellung der Daten zu lösen . Zum Beispiel: Spleißverbindungen, RNA-Protein-Bindungsstellen oder Methylierung. Mit anderen Worten: Die Anzahl Ihrer Stichproben übersteigt die Anzahl der Variablen bei weitem.
Solange dieser kritische Schritt gelöst ist, öffnet Ihnen TensorFlow die Tür zum Deep Learning.
2. Tensorflow-Installation (basierend auf Pip)
Pip ist ein Python-Softwarepaket-Installations- und Verwaltungstool. Darüber hinaus kann Tensorflow nur in einer Linux-Umgebung installiert werden. Einzelheiten zur Installation eines Linux-Systems unter VMware finden Sie in meinem anderen Blog.
2.1 pip installieren (Installation mit Superadministratorrechten erforderlich)
sudo apt-get install python-pip python-dev
Hinweis: Die obige Oberfläche erscheint und zeigt an, dass pip erfolgreich installiert wurde!
2.2 Tensorflow installieren
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
2.3 Test
>>> Tensorflow importieren als tf
>>> hello = tf.Konstante('Hallo, TensorFlow!')
> ;>> sess = tf.Sitzung()
>>> >print sess.run(hallo)
Hallo, TensorFlow !
- cd
/home/andy
- tar xfz pycharm-community-
2016.3.tar.gz
Öffnen Sie das Verzeichnis, in dem sich die Datei pycharm.sh befindet:
cd pycharm-community-2016.3/bin
Führen Sie die Datei pycharm.sh aus, um Pycharm zu installieren:
./pycharm.sh
Nach der Installation wird Pycharm automatisch geöffnet und anschließend werden eine Reihe von Einstellungen vorgenommen:
Wenn Folgendes Wenn die Benutzeroberfläche angezeigt wird, ist die Installation erfolgreich.
Wählen Sie „Neues Projekt erstellen“, um ein neues Projekt zu erstellen. Der Standard-Compiler ist Python 2.7.
Klicken Sie dann mit der rechten Maustaste auf das neu erstellte Projekt und wählen Sie „Neu->Python-Datei“, um eine neue Python-Datei Py01 zu erstellen.
Schreiben Sie zum Testen einen Codeabschnitt in die Datei Py01.
Es ist ersichtlich, dass die Testergebnisse korrekt sind und Sie Tensorflow auf Pycharm importieren können!
2.5 Pycharm an den Launcher sperren
Unter Ubuntu müssen Sie jedes Mal den Ordner finden, in dem sich pycharm.sh befindet, und ./pycharm ausführen. Sh, das Öffnen von Pycharm ist sehr mühsam.
Also erstellen wir besser eine Verknüpfung. Ubuntu-Verknüpfungen werden unter „Computer/usr/share/applications“ abgelegt.
Erstellen Sie zunächst einen Pycharm.desktop in diesem Verzeichnis:
sudo gedit /usr/share/applications/ Pycharm .Desktop
Geben Sie dann den folgenden Inhalt ein. Beachten Sie, dass Exec und Icon die richtigen finden müssen Auf Ihrem eigenen Computer müssen Sie auch die Versionsnummer von Pycharm im Pfad, GenericName und Kommentar entsprechend der tatsächlichen Situation ermitteln:
[Desktop Eintrag]
Typ=Anwendung
Name=Pycharm
GenericName=Pycharm2017
Comment=Pycharm2017:Die Python IDE
Exec="/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.sh" %f
Icon=/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.png
Terminal=pycharm
Kategorien =Pycharm;
Nach dem Speichern können Sie die entsprechende Desktop-Datei Pycharm.desktop über den Pfad /usr/share/applications/ finden, dann doppelklicken, um sie zu öffnen, und sie dann im Launcher sperren.
Referenz:
Offizielle TensorFlow-Website
Geek Academy – Offizielles TensorFlow-Dokument Chinesische Version
Geek Academy – Download und Installation
Geek Academy – Erste Schritte mit MNIST Machine Learning (Aufbau eines Softmax Regressionsmodell)
Geek Academy – Ausführliches MNIST (Aufbau eines tiefen Faltungs-Neuronalen Netzwerks)
Ladislav Rampasek und Anna Goldenberg, TensorFlow: Das Tor der Biologie zum Deep Learning?
Spalte von werm520: PyCharm auf Ubuntu installieren
Anaconda unter Ubuntu installieren
-
Anaconda und Spyder unter Linux installieren (Ubuntu14.04)
So installieren Sie TensorFlow unter Ubuntu
-
Das obige ist der detaillierte Inhalt vonDas Konzept und die Installation von TensorFlow, einem Deep-Learning-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Bewertung des Kosten-/Leistungsverhältnisses des kommerziellen Supports für ein Java-Framework umfasst die folgenden Schritte: Bestimmen Sie das erforderliche Maß an Sicherheit und Service-Level-Agreement-Garantien (SLA). Die Erfahrung und das Fachwissen des Forschungsunterstützungsteams. Erwägen Sie zusätzliche Services wie Upgrades, Fehlerbehebung und Leistungsoptimierung. Wägen Sie die Kosten für die Geschäftsunterstützung gegen Risikominderung und Effizienzsteigerung ab.

Die Lernkurve eines PHP-Frameworks hängt von Sprachkenntnissen, Framework-Komplexität, Dokumentationsqualität und Community-Unterstützung ab. Die Lernkurve von PHP-Frameworks ist im Vergleich zu Python-Frameworks höher und im Vergleich zu Ruby-Frameworks niedriger. Im Vergleich zu Java-Frameworks haben PHP-Frameworks eine moderate Lernkurve, aber eine kürzere Einstiegszeit.

Das leichte PHP-Framework verbessert die Anwendungsleistung durch geringe Größe und geringen Ressourcenverbrauch. Zu seinen Merkmalen gehören: geringe Größe, schneller Start, geringer Speicherverbrauch, verbesserte Reaktionsgeschwindigkeit und Durchsatz sowie reduzierter Ressourcenverbrauch. Praktischer Fall: SlimFramework erstellt eine REST-API, nur 500 KB, hohe Reaktionsfähigkeit und hoher Durchsatz

Laut Benchmarks sind Quarkus (schneller Start, geringer Speicher) oder Micronaut (TechEmpower ausgezeichnet) für kleine, leistungsstarke Anwendungen die ideale Wahl. SpringBoot eignet sich für große Full-Stack-Anwendungen, weist jedoch etwas langsamere Startzeiten und Speichernutzung auf.

Das Verfassen einer klaren und umfassenden Dokumentation ist für das Golang-Framework von entscheidender Bedeutung. Zu den Best Practices gehört die Befolgung eines etablierten Dokumentationsstils, beispielsweise des Go Coding Style Guide von Google. Verwenden Sie eine klare Organisationsstruktur, einschließlich Überschriften, Unterüberschriften und Listen, und sorgen Sie für eine Navigation. Bietet umfassende und genaue Informationen, einschließlich Leitfäden für den Einstieg, API-Referenzen und Konzepte. Verwenden Sie Codebeispiele, um Konzepte und Verwendung zu veranschaulichen. Halten Sie die Dokumentation auf dem neuesten Stand, verfolgen Sie Änderungen und dokumentieren Sie neue Funktionen. Stellen Sie Support und Community-Ressourcen wie GitHub-Probleme und Foren bereit. Erstellen Sie praktische Beispiele, beispielsweise eine API-Dokumentation.

Wählen Sie das beste Go-Framework basierend auf Anwendungsszenarien aus: Berücksichtigen Sie Anwendungstyp, Sprachfunktionen, Leistungsanforderungen und Ökosystem. Gängige Go-Frameworks: Gin (Webanwendung), Echo (Webdienst), Fiber (hoher Durchsatz), gorm (ORM), fasthttp (Geschwindigkeit). Praktischer Fall: Erstellen einer REST-API (Fiber) und Interaktion mit der Datenbank (gorm). Wählen Sie ein Framework: Wählen Sie fasthttp für die Schlüsselleistung, Gin/Echo für flexible Webanwendungen und gorm für die Datenbankinteraktion.

Bei der Go-Framework-Entwicklung treten häufige Herausforderungen und deren Lösungen auf: Fehlerbehandlung: Verwenden Sie das Fehlerpaket für die Verwaltung und Middleware zur zentralen Fehlerbehandlung. Authentifizierung und Autorisierung: Integrieren Sie Bibliotheken von Drittanbietern und erstellen Sie benutzerdefinierte Middleware zur Überprüfung von Anmeldeinformationen. Parallelitätsverarbeitung: Verwenden Sie Goroutinen, Mutexe und Kanäle, um den Ressourcenzugriff zu steuern. Unit-Tests: Verwenden Sie Gotest-Pakete, Mocks und Stubs zur Isolierung sowie Code-Coverage-Tools, um die Angemessenheit sicherzustellen. Bereitstellung und Überwachung: Verwenden Sie Docker-Container, um Bereitstellungen zu verpacken, Datensicherungen einzurichten und Leistung und Fehler mit Protokollierungs- und Überwachungstools zu verfolgen.

Beim Go-Framework-Lernen gibt es fünf Missverständnisse: übermäßiges Vertrauen in das Framework und eingeschränkte Flexibilität. Wenn Sie die Framework-Konventionen nicht befolgen, wird es schwierig, den Code zu warten. Die Verwendung veralteter Bibliotheken kann zu Sicherheits- und Kompatibilitätsproblemen führen. Die übermäßige Verwendung von Paketen verschleiert die Codestruktur. Das Ignorieren der Fehlerbehandlung führt zu unerwartetem Verhalten und Abstürzen.
