Machine Learning mit Python für PC, Raspberry Pi und Maixduino
Von Dr. Günter Spanner
Herausgegeben von Elektor Verlag GmbH
Inhaltsverzeichnis
- Kapitel 1: Einführung
- Kapitel 2: Eine kleine Geschichte der KI
- Kapitel 3: Lernen aus großen Datenmengen
- Kapitel 4: Hardwarebasis
- Kapitel 5: Der PC als universelle KI-Maschine
- Kapitel 6: Raspberry Pi
- Kapitel 7: Sipeed Maix: Der "Maixduino"
- Kapitel 8: Programmier- und Entwicklungsumgebungen
- Kapitel 9: Python: Ein Kompendium
- Kapitel 10: Unentbehrliche Helfer: Libraries
- Kapitel 11: Machine Learning in der Praxis
- Kapitel 12: Erkennung von handschriftlichen Zahlen
- Kapitel 13: Maschinen lernen sehen: Objekterkennung
- Kapitel 14: Maschinen lernen hören und sprechen
- Kapitel 15: Gesichtserkennung und -identifizierung
- Kapitel 16: Trainieren eigener Modelle
- Kapitel 17: Zukunftsmusik: Von der KPU zum Neuromorphen Chip
- Kapitel 18: Elektronische Bauelemente
- Kapitel 19: Fehlersuche
- Kapitel 20: Bezugsquellen
- Kapitel 21: Literatur
- Kapitel 22: Abbildungsverzeichnis
- Stichwortverzeichnis
Kapitel 1: Einführung
1.1 In Drei Stufen zur "Superintelligenz"?
1.2 Wie Maschinen lernen können.
Kapitel 2: Eine kleine Geschichte der KI
Kapitel 3: Lernen aus großen Datenmengen
3.1 Maschinelles Lernen und Künstliche Intelligenz
Kapitel 4: Hardwarebasis
Kapitel 5: Der PC als universelle KI-Maschine
5.1 Der Computer als Programmierzentrale
Kapitel 6: Raspberry Pi
6.1 Remote Desktop
6.2 Smartphones und Tablets als Bildschirme
6.3 FileZilla
6.4 Pimp my Pi
Kapitel 7: Sipeed Maix: Der "Maixduino"
7.1 Klein aber fein: Die Leistungsmerkmale des "Maixduino"
7.2 Anwendungsbereiche
7.3 Inbetriebnahme und Funktionstest
7.4 Stromversorgung und stand-alone Betrieb
Kapitel 8: Programmier- und Entwicklungsumgebungen
8.1 Thonny - eine Python IDE für Ein- und Aufsteiger
8.2 Universalgenie: Thonny für RasPi und Maixduino
8.3 Umgang mit Dateien
8.4 Thonny auf dem Raspberry Pi
8.5 Tipps zur Fehlerbehebung in der Thonny IDE
8.6 Die MaixPy IDE
8.7 MicroPython-Interpreter auf dem Maixduino
8.8 Flash-Tool im Einsatz
8.9 Machine Learning und Interaktives Python
8.10 Anaconda
8.11 Jupyter
8.12 Installation und Start
8.13 Jupyter mit MicroPython-Kernel
8.14 Kommunikationsaufbau zum Maixduino
8.15 Des Pudels Kern: Kernels
8.16 Arbeiten mit Notizbüchern
8.17 Alle Libraries an Board?
8.18 Python mit Spyder
8.19 Wer programmiert wen?
Kapitel 9: Python: Ein Kompendium
9.1 Kommentare erleichtern das Leben
9.2 Die print()-Anweisung
9.3 Ausgaben auf das Display
9.4 Einrückungen und Blöcke
9.5 Zeitsteuerung und sleep
9.6 Die Hardware im Griff: Digitale Ein- und Ausgänge
9.7 Für wichtige Werte: Variablen und Konstanten
9.8 Zahlen und Variablentypen
9.9 Konvertieren von Zahlentypen
9.10 Arrays als Basis Neuronaler Netze
9.11 Operatoren
9.12 Bedingungen, Verzweigungen und Schleifen
9.13 Versuch und Irrtum: try und except
Kapitel 10: Unentbehrliche Helfer: Libraries
10.1 Matplotlib als Grafikkünstler
10.2 Das Rechengenie: NumPy
10.3 Die Datenkrake: pandas
10.4 Lernen und Visualisieren: SciKit, SciPy, SciKit-image und Co.
10.5 Maschinen lernen Sehen - mit OpenCV
10.6 Intelligenzbestien: KERAS und TensorFlow
10.7 Wissenstransfer: Übertragung von Lernleistungen
10.8 Grafische Darstellung der Netzstruktur
10.9 Lösung des XOR-Problems in KERAS
10.10 Virtuelle Umgebungen
Kapitel 11: Machine Learning in der Praxis
11.1 Transferfunktionen und vielschichtige Netze
11.2 Blüten und Daten
11.3 Grafische Darstellungen von Datensätzen
11.4 Ein Netz für Iris-Blüten
11.5 Zwei Paar Stiefel: Trainieren und Testen
11.6 Welche Blüte ist das?
11.7 Test und Lernverhalten
Kapitel 12: Erkennung von handschriftlichen Zahlen
12.1 "Hello ML" - MNIST-Datensatz
12.2 Ein Neuronales Netzes liest Ziffern
12.3 Training, Tests und Prognosen
12.4 Erweiterung auf Online-Video
12.5 KERAS kann es noch besser!
12.6 "Gefaltete" Netzwerke
12.7 Power-Training
12.8 Niemals ohne Qualitätskontrolle!
12.9 Livebilder erkennen
12.10 Chargengrößen und Epochen
12.11 Auch der Maixduino liest Ziffern
Kapitel 13: Maschinen lernen sehen: Objekterkennung
13.1 TensorFlow für den Raspberry
13.2 Virtuelle Umgebungen
13.3 Ein universelles TFLite-Modell im Einsatz
13.4 Ideal für "Messies": Klamotten sortieren
13.5 Aufbau und Training des Modells
13.6 Maixduino erkennt 20 Objekte
13.7 Gegenstände erkennen, zählen und sortieren
Kapitel 14: Maschinen lernen hören und sprechen
14.1 Sprich mit mir!
14.2 RasPi lernt sprechen
14.3 Messgeräte mit Sprachausgabe
14.4 Ich habe Sie (nicht) verstanden...
14.5 RasPi als "ChatBot"
14.6 "PlauderBots"
14.7 Das "sprechende Auge"
14.8 Eine "KI-Fledermaus"
Kapitel 15: Gesichtserkennung und -identifizierung
15.1 Das Recht am eigenen Bild
15.2 Maschinen erkennen Menschen und Gesichter
15.3 Maixduino als Türspion
15.4 Wie viele Personen waren auf der Party?
15.5 Personenalarm
15.6 Sozialer Sprengstoff? - Gesichtsidentifizierung
15.7 "Big Brother" RasPi: Gesichtsidentifizierung in der Praxis
15.8 Bitte recht freundlich ;-)
15.9 Foto-Training
15.10 Erkenne dich selbst! (und andere...)
15.11 Ein Biometriescanner als Türöffner
15.12 Geschlecht und Alter erkennen
Kapitel 16: Trainieren eigener Modelle
16.1 Erstellung eines Modells für den Maixduino
16.2 Maixduino erkennt Elektronik-Komponenten
16.3 Performance des trainierten Netzes
16.4 Praxistest
16.5 Ausblick: Multi-Objekt-Detektoren
Kapitel 17: Zukunftsmusik: Von der KPU zum Neuromorphen Chip
Kapitel 18: Elektronische Bauelemente
18.1 Breadboards
18.2 Drahtbrücken und Jumper-Kabel
18.3 Widerstände
18.4 Leuchtdioden (LEDs)
18.5 Transistoren
18.6 Sensoren
18.7 Ultraschall-Entfernungsmesser