Inhalt. 2. Caffe meets Java



Ähnliche Dokumente
Installation OMNIKEY 3121 USB

4D Server v12 64-bit Version BETA VERSION

Anwenderdokumentation PersoSim

Predictive Modeling Markup Language. Thomas Morandell

Internet Explorer Version 6

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Kompatibilitätsmodus und UAC

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Python SVN-Revision 12

Modul CTO Barcode für Windows Seite 1

1wire-USB-Master für Fritzbox 7390 und Freetz

1 Installation QTrans V2.0 unter Windows NT4

Medea3 Print-Client (m3_print)

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Internet online Update (Internet Explorer)

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

SOLID EDGE INSTALLATION STANDARD PARTS am Client. INSTALLATION Standard Parts am Client

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Internet online Update (Mozilla Firefox)

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Installationsanleitung dateiagent Pro

SANDBOXIE konfigurieren

Import Zertifikate ELM

OP-LOG

Hinweise zur Benutzung des Programms zur Berechnung der Abiturendnote

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / Fax: 044 / CH-8005 Zürich

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Version 0.3. Installation von MinGW und Eclipse CDT

1 Vom Problem zum Programm

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

WARY Notariat Urkundenrolle V2013

Psyprax GmbH. Netzwerk Installation unter XP. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

GPS Navigation für PPC

FastViewer Remote Edition 2.X

Installationsanleitung für Update SC-Line

Informatik 1 Tutorial

ITF2XML. Transferservice. Version 1.0. infogrips GmbH, Zürich client10.doc, Revision 1.1. Tel.: 01 / Fax: 01 /

Informatik I Tutorial

SRH - Kurzinformation

DeltaVision Computer Software Programmierung Internet Beratung Schulung

visionapp Base Installation Packages (vbip) Update

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Programmierung für Mathematik (HS13)

3 Konfiguration OfficeMaster 3.10 SNMP

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

EMU Bill & Report 1/33

Erfahrungsbericht Installation von OpenOffice.org2 auf Terminalservern mit Citrix Metaframe

Theoretische Grundlagen der Informatik

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Planung für Organisation und Technik

Formular»Fragenkatalog BIM-Server«

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Car-Net über WLAN Aufbau einer Internet-Verbindung über WLAN zur Nutzung von Car-Net

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

.NET Code schützen. Projekt.NET. Version 1.0

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Kurzanleitung zur Erweiterung der htdig

TERRA X5.Filialabgleich Client

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Teamschool Installation/ Konvertierungsanleitung

Handbuch PCI Treiber-Installation

PC-Software für Verbundwaage

Oracle APEX Installer

B12-TOUCH VERSION 3.5

Qt-Projekte mit Visual Studio 2005

Lehrveranstaltung Grundlagen von Datenbanken

Wenn Cygwin standardmässig installiert wurde befindet es sich unter C:\cygwin

Workbooster File Exchanger Command Line Tool

PCS-Datenbankanbindung in Betrieb nehmen

Automatische Installation (wenn das SSO-Applet nicht vorhanden ist)! Abbildung 1:Auswahldialog für Installationslaufwerk

WindowLogger für MS-Terminalserver

Installation / Aktualisierung von Druckertreibern unter Windows 7

C++ mit Eclipse & GCC unter Windows

Persona-SVS e-sync GUI/Client Installation

Softwareinstallation unter Linux

NODELOCKED LIZENZ generieren (ab ST4)

Anleitung zum LPI ATP Portal

Enigmail Konfiguration

Plugins. Stefan Salich Stand

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Dokumentation IBIS Monitor

Rillsoft Project - Installation der Software

CODESOFT version 10. SOFTWARE SOLUTIONS Label Design ERP/Host Connectivity Data Management

Transkript:

Caffe-Einführung

Inhalt 1. Caffe a. Installation b. Dateien eines Netzwerks c. Aufbau eines Netzwerks d. Verwendung eines Netzwerks e. Eigenes Beispiel für ein Netzwerk f. MNIST 2. Caffe meets Java

Installation - Kompilierung des Master-Branch - Voraussetzungen - CUDA (Grafikkarten Berechnungen) - BLAS (Lineare Algebra) - Boost (Sammlung von Bibliotheken) - OpenCV (Bibliotheken für Bildverarbeitung) - Protobuf (Ähnlich zu JSON oder XML) - Glog (Google logging Bibliothek) - Gflags (Erweiterung der Kommandozeilen Befehle) - leveldb (Google Datenbank, Key-Value Liste) - lmdb (Key-Value Liste) - snappy (Google Kompressions-Bibliothek)

Installation - Kompilierung unter Windows - Cygwin (Terminal, das Unix-Befehle interpretieren kann) - Braucht zusätzliche Packages für Befehle wie Make - (./configure && make && make check && make install) * - Allgemeine Probleme: - Fokus auf Unix-Systemen - Führt zu Problemen bei Windows (andere Pfade, ) - Wenig Präzedenzfälle für Windows - Wenig Erfahrung mit dieser Art von Installation

Installation - Aktuellster Stand: Caffe zu 85% kompiliert - Caffe-Windows (Visual-Studio 2012, Cuda 6.5,...) - Keine Weiterentwicklung - Ermöglicht nur Training - Erweiterungen bisher fehlgeschlagen - Caffe-Standalone - Veraltet - Kompilierung unter OSX und Ubuntu - Caffe bietet Installation-Guides - Besitzen Package-Manager (leichteres händeln von allem)

Caffe Netzwerk 1. Netzwerk 2. Trainer

Dateien eines Netzwerks - Caffe arbeitet auf Basis des Google Protocol Buffer - Vergleichbar mit JSON oder XML - Jedoch - Kleiner - Schneller - Leichter - Verwendete Typen: -.prototxt - Beschreibung der Netzwerkkomponenten -.proto - Definiert die verwendbaren Netzwerkkomponenten -.binaryproto - Serialisierte Komponenten

Dateien eines Netzwerks Netzwerk definieren 1. caffe.proto 2. netzwerk.prototxt 3. solver.prototxt Netzwerk trainieren 1. weight-snapshot 2. solver-snapshot Netzwerk verwenden 1. caffe.proto 2. weight-snapshot

Aufbau eines Netzwerks Netzwerk: - Vertikale Orientierung - Stapel aus Schichten (Layers) - Model und Umsetzung getrennt - Directed acyclic Graph (DAG) loss (SOFTMAX_LOSS) ip2 (INNER_PRODUCT) relu1 (RELU) ip1 (INNER_PRODUCT) pool1 (POOLING) conv1 (CONVOLUTION) mnist (DATA)

Blobs - Allgemein - Vierdimensionales Array zum Speichern und austauschen von Informationen - Bilder, Model-Parameter, Ableitungen für Optimierungen - Number (N) x Channel (K) x Height (H) x Width (W) - N = Batchsize - K = Feature dimension z.b. RGB = 3

Blobs - Beispiele - Bsp.: Images (ImageNet) - 256 x 3 x 227 x 227-256 = Bilder - 3 = RGB Kanal - 227 = Höhe & Breite - Bsp.: Parameter (Convolution Layer) - 96 x 3 x 11 x 11-96 = Filter - 3 = Input (noch unklar) - 11 = Kernelgröße - Bsp.: Parameter (Inner-Product / Fully-connected Layer) - 1 x 1 x 1000 x 1024-1024 = Input - 1000 = Output - 1 x 1 (noch unklar)

Blobs - Einbindung top - blob bottom - blob

Layer - Allgemein - 51 Typen - Funktionen sind ebenfalls Schichten - 5 Kategorien - Data-, Vision-, Common-, Activation/Neuron-, Loss-Layer - Aufbau eines Layers - Name - Type - Bottom - Top - Parameter ( Inhaltlich abhängig vom Typ ) - Basis-Funktionen ( Code ) - Setup - Forward - Backward

Layer - Typen - Data-Layer: - Lädt die Bilder/Daten, mit denen ein Netzwerk arbeiten soll. - z.b. leveldb, lmdb, Images,... - Vision-Layer: - Verarbeitet Bilder - z.b. Convolution, Pooling,...

Layer - Typen - Activation/Neuron-Layer: - elementweise Berechnungen - z. B. Rectified_Linear (ReLU), Sigmoid,... - Loss-Layer: - Berechnet den Fehler - Typ: Euclidean, Softmax, - Abweichung: Accuracy, top-k (Nur als Validierung, ohne Backward, ) - Common-Layer: - Sonstige Operationen - z.b. Inner Product, Flattening,... - Schema-Definition: caffe.proto#layerdefinition

Solver

Caffe Aufruf...über Konsole / Batch-Datei: 1. SET GLOG_logtostderr=1 2. "$CAFFE_BIN_PATH/caffe.exe" solver.prototxt 1. Log-Messages printen statt Logfile anzulegen (letzteres schlägt fehl) 2. exe aufrufen und Solver-Protobuf-Datei übergeben

Netzwerk Initialisierung Trainings- und Test-Netzwerk werden nacheinander initialisiert Layer werden sukzessiv erstellt: 1. Layer-Name Creating Layer mnist_data 2. Input-Blobs ip1 mnist_data 3. erzeugte Ouput-Blobs mnist_data data; mnist_data label 4. Layer-spezifische Aktionen Laden der Bilder 5. Struktur der Top-Blob(s) 10,3,28,28 6. Benötigt Backward-Propagation? Beim Trainings-Netz: Einstellungen zu Lernrate und Weight-Decay laden

Netzwerk Initialisierung

Training: Konsolen-Ausgabe Bsp Ausgabe alle 100 Iterationen. Test alle 200 Iterationen. Snapshot alle 450 Iterationen. Iteration 300. Aktuelle Lernrate und Fehler / Loss. Iteration 400 --- --- Iteration 400 Testing: Score 0 = 0.8 = 80% der Bilder wurden richtig klassifiziert Score 1 = 3,5667 = Loss beim Testdurchlauf Iteration 450: Snapshot

Training: Konsolen-Ausgabe

Eigenes Bsp (logistic regression) - MNIST war das simpelste lauffähige Beispiel aus der Community - Konstruktion eines simplen Beispiels - Stand des letztens Semesters - Wenig Bilder (100 Trainings, 10 Testbilder) für kurze Laufzeit - Benutzung von Bilddatei-Liste

Eigenes Bsp (logistic regression) - Aufbau siehe rechts - fixe Lernrate von 0.01 - nonlineare Fkt ist im Loss Layer enthalten - >funktioniert nicht gut (Klass.rate: 0.6)

Eigenes Bsp

Eigenes Bsp

Eigenes Bsp Data-Layer

Eigenes Bsp ip-layer

Eigenes Bsp Loss-Layer

Eigenes Bsp (logistic regression) - Verbesserungen: - Solver: Momentum (!) - zusätzlicher ip -Layer - Finetuning: weight_decay, fortgeschrittene learning-rate policy

Caffe meets Java Netzwerk verwenden caffe.proto weight-snapshot

Caffe meets Java - caffe.proto - Regeln für die Gestaltung - Wird zu einer Java-Klasse kompiliert - weight-snapshot - Enthält das Netzwerk sowie die Gewichte - Serialisiert und so nicht zu gebrauchen

Caffe meets Java caffe.proto parse weightsnapshot

Caffe meets Java - Im Code: