Einbindung eines neuronalen Netzes in eine Apex Anwendung. DI Martin Schumacher, Berlin am 28. April 2016

Ähnliche Dokumente
Excel-ähnliche Spreadsheets in Apex Innovation aus einer IT-Abteilung

React in Apex Mit React zu noch besseren Apex Apps

Continuous Delivery mit Orcas

Code Beispiel: /* path element */ var el = rc.path("m l 0-50 l l 0-50 l l 0 50 l l 0 50 z");

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

Neue Welten: Externe Daten mit APEX nutzen

Inhaltsverzeichnis. Apps für Android entwickeln

Graphen in Apex von Thomas Hernando.

Mit PL/SQL auf s ipad

Mit PL/SQL auf s ipad

Diagramme - Next Generation

Puerto de La Luz, Gran Canaria

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Gasbeschaffenheit bezüglich des Brennwertes "H s,eff " an wesentlichen Ein- und Ausspeisepunkten oder in den entsprechenden Teilnetzen

Lernen vom Page Designer. Auf den Spuren von Jules Verne

Dynamisches Anzeigen von Informationen mit jqueryui Dialogs und Tabs

Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab?

GeoDaten Visualisierung mit APEX und OpenLayers

Visualisierung von Geodaten in APEX Interactive Grid und OpenLayers

APEX 5.0: neue & überarbeitete Komponenten. Oliver Lemm Berlin,

APEX Datenverwaltung Wo sind die Daten gerade?

Dauer Richtung Bemerkung ca. 0:03 Adlershof, Karl-Ziegler-Str. barrierefrei Fahrradmitnahme möglich

DOAG München Layout und dynamische Elemente für APEX Anwendungen

Wordpress am eigenen Server installieren

Frank Bültge Thomas Boley. Das WordPress-Buch. Vom Blog zum Content-Management-System

APEX OOS TOOLS & HELFER

APEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden

!!!! Mail: Web: juergen-schuster-it.de. ! APEX D-A-CH Facebook Group: bit.ly/apex_on_facebook

Oracle Forms und APEX

Die Logistik im Verbund Hauptlastverteiler

Mehr Dynamik in Apex mit Javascript und JQuery

HomeServer/ FacilityServer

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

Das Leben der Anderen

Interaktive Visualisierung der Projektmanagement-Prozesse

Mail: Web: juergen-schuster-it.de

DOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1

Dreamweaver MX Eigene Websites im Handumdrehen! SUSANNE RUPP

Mul$media im Netz Wintersemester 2012/13. Übung 06

Studienarbeit Bildergalerie

Vorlesung Unix-Praktikum

REST Services in APEX Anwendungen nutzen

Installationsanleitung E-Newsletter

Thomas Theis. Einstieg in JavaScript

Inhaltsverzeichnis. jetzt lerne ich. Ein Wort vorab 15

Broadway FAQ. Copyright 2017 Hauppauge Computer Works

Modul hinzufügen: Bildershow JS Flex slider

Inaktiver Vorgang. Nur Anfang Unterbrechung. Inaktiver Meilenstein. Inaktiver Sammelvorgang Manueller Vorgang Nur Dauer

Router für BT-Professional MOBILE konfigurieren

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

WordPress lokal mit Xaamp installieren

Erfahrungen bei der Migration von MS Access nach Oracle Application Express

WIR SAMMELN UNSEREN MÜLL WIEDER EIN.

Mapbender3 Workshop. Astrid Emde AGIT 2016 Salzburg

Mapbender3 Workshop. Astrid Emde AGIT 2015 Salzburg

Dynamisches Anzeigen von Informationen in APEX mit jquery UI Dialogs und Tabs

Key-basierte SSH Login mit PuTTY

1 DynWeb Entwicklung mobiler Webseiten

Überblick über APEX Carolin Hagemann

jquery Einstieg 2 CSS manipulieren; toggle, hide und show

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

3Cloud. Anleitung für den MacOS Client.

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

User-Manual für Autoren

WordPress Installation. Vorgehen bei der Installation von WordPress. Voraussetzung: Sie haben eine angemeldete Domain bei einem Provider

APEX 5.0 als wertvolle Ergänzung einer SharePoint-Umgebung. Alexej Schneider DOAG 2015

REST Services To-Go Einfacher Einstieg in die REST Programmierung

Port-Weiterleitung einrichten

GESTERN OWB, HEUTE ODI

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Unsere hybridapp funktioniert wie eine normale App, ist aber bis zu 65% günstiger!

ATLAS 2x2 Server Installation ERSTELLT BY MARKUS TUVOK VERSION 1.4 // MITTEN IN DER NACHT LETZTES UPDATE

Hochschule Darmstadt Fachbereich Informatik

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

Tutorium SS17 EINFÜHRUNG + BREAKOUT

Moderne Anwendungen und relationale Datenbanken? Natürlich!

Diagramme - Next Generation

kurguide Documentation

Installationsanleitung für die netzbasierte Variante Ab Version 3.6. KnoWau, Allgemeine Bedienhinweise Seite 1

Dateien per Drag & Drop in Apex Applikationen ablegen

APEX verbessern mit Browser-Extensions

Oliver Brinkmann Java Swing-Applikationen & JApplets (mit NetBeans)

Modul Amazon Alexa. Installation. Installierbar auf Geräten der V3 Version ab Patch Level 1077.

1 von :10

1.1 Für wen ist dieses Buch geeignet? Für wen ist dieses Buch eher nicht geeignet? Was erwartet Sie in diesem Buch? 6

Es wird eine MySQL Datenbank benötigt, es wird die Tabelle SB_Musikmanager erstellt.

Haupttabelle für Grundwasserstände EGLFING LEHRER 265B

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Apps für ios entwickeln

ADF & APEX to go! Expertengespräche ADF & APEX Previewer. am PITSS Stand 206. im Anschluss an diesen Vortrag! Wir freuen uns auf Ihren Besuch!

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.


Agile Apex - Life Cycle Management. Life Cycle Management für Apex Applikationen im agilen Projektumfeld

Matthias-Claudius-Gymnasium Fachcurriculum Informatik

Vorlesung Unix-Praktikum

Installationsanleitung der ansitel VM (60-Tage Testversion) am Beispiel Oracle VirtualBox

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

<Insert Picture Here> Versteckte Juwelen. Nützliche APEX-Features - auch aus älteren Releases. Carsten Czarski ORACLE Deutschland B.V.

Transkript:

Einbindung eines neuronalen Netzes in eine Apex Anwendung, Berlin am

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 3

Der Vortrag basiert großteils auf den Arbeiten von Matt Mazur Email: Twitter: Blog: Matthew.H.Mazur@gmail.com @mhmazur https://mattmazur.com Netz App: http://www.emergentmind.com/neural-network Seite 4

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 5

Das Unternehmen - VERBUND auf einen Blick 95 % der Erzeugung aus Erneuerbaren Energien Rund 3.000 Mitarbeiterinnen und Mitarbeiter 126 Wasserkraftwerke Nummer 1 beim Klimaschutz unter europäischen EVUs Österreichs führendes Stromunternehmen Strategischer Fokus auf Über 300.000 Privatkunden. Nr. 1 bei Industriekunden. Erste Green-Bond-Unternehmensanleihe im deutschprachigen Raum Österreich und Deutschland Größter Wasserkrafterzeuger Bayerns 51% im Besitz der Republik Österreich Österreichweite Ladeinfrastruktur 234 Lehrlinge seit 2009 ausgebildet für Elektrofahrzeuge geschaffen Energienahe Produkte & Dienstleistungen Soziale Verantwortung: 1,3 Mio. Unterstützung für VERBUND- Stromhilfefonds der Caritas seit 2009 Ökologische Maßnahmen: Bisher 186 Mio. Investition in Fischwanderhilfen Starkes Umweltmanagement: In den Top 10 von weltweit 160 analysierten Energieunternehmen bei oekom research Seite 6

Entscheidungsunterstützung durch Wiedererkennung von Szenarien aus der Vergangenheit 40 35 30 25 20 15 10 Kaufen oder verkaufen? Wie hoch steigt der Preis? 5 0 Kommt eine Trendwende? Jän Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez Seite 7

Warum Apex? Warum Javascript? Weil eine schnelle prototypische Entwicklung gefragt war Weil wir agil die Methode testen wollten, vor der Entwicklung eines kompletten Systems Weil wir keine Blackbox in Form von Bibliotheken bei der Analyse des Verfahrens haben wollten Weil wir die Quelldaten in Oracle haben Weil es im Netz schon einen guten Grundstock gab, ohne das Rad neu zu erfinden und weil wir einfach gerne mit Apex und Javascript arbeiten! Seite 8

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 9

Was haben wir gebaut? Demo! http://www.emergentmind.com/neural-network Seite 10

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 11

Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Installation von Oracle Virtualbox https://www.virtualbox.org/ Download der Pre-Built Developer VM von Oracle http://www.oracle.com/technetwork/community/developer-vm/index.html Es ist ein Apex 5, eventuell patchen Seite 12

Virtual Image konfigurieren Netzwerk NAT und Portfreigabe einrichten Apex ORDS auf Port 8080 TNS Listener auf Port 1521 zum Connect per SQL-Developer auf Host SSH auf Port 22 Seite 13

Konfiguration der 12c Datenbank in der Virtual Machine Falls die User expired sind: Ergebnis der Ausgabe kopieren und laufen lassen Seite 14

Einstieg in das Apex der Virtualbox http://localhost:8080/ords Workspace User Passwort OBE OBE oracle http://localhost:8080/ords/apex_admin User Passwort SECURE oracle Seite 15

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 16

Externe Seite analysieren Seite auf die lokale Platte speichern HTML Datei ansehen Verweise auf externe Dateien werden lokal abgespeichert Seite 17

Externe Seite analysieren JS Dateien öffnen und ermitteln, was drinnen ist Dateien umbenennen und Links im HTML ändern Geht noch alles? 1. Analytics, 26 kb, JS 2. JQuery, jqueryui, sparkline, physics.js, underscore, + weiteres JS, 648 kb, JS 3. Das Neuronale Netz, 15 kb, JS 4. jqueryui, 48kb, CSS 5. Canvas der Netzvisualisierung, 2 kb, JS 6. Schriftartendesign, 3 kb, CSS 7. Schriftartendesign, 25 kb, JS 8. Schriftartendesign, 90 kb, CSS 9. Neuronales Netz Design, 2kb, CSS Seite 18

JS Dateien analysieren JS Dateien im Notepad++ öffnen Sprache auf JS einstellen Zeilenumbruch ausschalten Funktionsblöcke zusammenklappen Kommentare lesen Wenn kein Kommentar: Codeteile googeln! jquery (und jqueryui) lieber rausgeben, da das von Apex schon selbst mitgebracht wird Seite 19

Einbau der JS und CSS Teile in Apex Es gibt Bereiche in der Page, die für JS und CSS vorbereitet sind Größe der Felder ist beschränkt, daher auf Files ausweichen Files hochladen, in Apex 5 auch gezipped möglich Seite 20

Einbau der HTML Teile in Apex Schematischer Aufbau der HTML Seite Seite 21

Einbau der HTML Teile in Apex Einbau des DIV als HTML-Region in Apex Seite 22

Nachbau der externen HTML Seite mit JS erfolgreich! DEMO! Seite 23

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 24

Code des neuronalen Netzes für Ihre Zwecke erweitern Was soll am Code erweitert werden o Über Apex die Anzahl der Zwischenschichten bestimmen o Über Apex die Anzahl der Neuronen pro Zwischenschicht bestimmen Arbeitsumgebung verbessern o Kein JS Code Hochladen per Apex nach jeder Änderung im JS Code Seite 25

Arbeitsumgebung verbessern vor Änderungen an JS Vom Virtualbox Image aus auf Host-Laufwerk zugreifen dort liegt der JS Code Seite 26

Anzahl der Zwischenschichten über Apex bestimmen Einbau eines Elements in der Seite, welches die Information über die Zwischenschichten hält Seite 27

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 28

Trainingsdaten generieren Pixelgrafik zu String aus 0 und 1 umwandeln Seite 29

Trainingsdaten generieren Pixelgrafik zu String aus 0 und 1 umwandeln Pixelgrafik ist eine HTML Table mit ID = drawpad Zelle nach Click per CSS Klasse einfärben Dazu Apex triggeringelement verwenden Seite 30

Trainingsdaten in das Netz laden Nach dem Page Load die Trainingsdaten laden (JS -> Ajax -> PLSQL -> JS) Das Netz starten Den BarChart zur Output Visualisierung initialisieren Seite 31

Trainingsdaten in das Netz laden Nach dem Page Load die Trainingsdaten laden (JS -> Ajax -> PLSQL -> JS) Man könnte trainingsdata oder testdata laden Testdata wäre ungelerntes, machen wir interaktiv CLOB wird als Ganzes geladen, aber stückweise ausgegeben Seite 32

Inputdatenstring zu JSON Funktion, die einen CLOB zurück gibt, der einem JSON String entspricht Seite 33

Was Sie in diesem Vortrag lernen werden: Wer wir sind und warum wir das machen Was wir gebaut haben Wie Sie sich eine lokale Apex 5 Arbeitsumgebung schnellstmöglich einrichten Wie Sie eine externe Seite analysieren, zerlegen und in Ihr Apex einbinden Wie Sie den Code des neuronalen Netzes für Ihre Zwecke erweitern Wie Sie Trainingsdaten erstellen, speichern und in Ihr Netz laden können Wie Sie Ihr trainiertes Netz abspeichern und wieder laden können. und das alles anhand einer funktionierenden Live Demo! Seite 34

Trainiertes Netz abspeichern 1. Die komplette Datenstruktur des Netzes in einen JS-String umwandeln 2. Den JS-String in einen APEX Collection CLOB speichern 3. Den PLSQL Prozess PRC_SAVE_NET aufrufen, dem die Struktur der Hiddenlayer übergeben wird in x01 Seite 35

Trainiertes Netz abspeichern 1. Den CLOB aus der Collection in eine lokale CLOB Variable speichern 2. Den String der Struktur der Hiddenlayer als Key verwenden 3. Merge in die Tabelle NEURALNET Seite 36

Trainiertes Netz laden 1. Aus der Tabelle NEURALNET das gespeicherte Netz für diese Hiddenlayer Struktur laden Seite 37

Trainiertes Netz laden 1. Apex Collection Clob JS-String JS Objekt 2. JS Objekt Gewichte und Bias ins Neuronale Netz übernehmen Seite 38

Was haben wir gebaut? Demo! http://www.emergentmind.com/neural-network Seite 39

Question & Answer Discussion Area in Jazz 2 You don't have to put an abrupt stop to exciting discussions at the end of a talk: In Room "Jazz 2" you can keep conversation going. Bitte geben Sie VERBUND den Fußzeilentext AG, www.verbund.com über "Einfügen -> Kopf- & Fußzeile" ein 40 18.08.2015