#MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework...

27
June 2017, @ZimMatthias #MachineLearning #Blockchain @EclipseScout

Transcript of #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework...

Page 1: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

June 2017, @ZimMatthias

#MachineLearning #Blockchain

@EclipseScout

Page 2: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular
Page 3: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Eclipse Scout

Page 4: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

What is Eclipse Scout?

Business Appliation Framework

Open Source Eclipse Project

Based on Java and HTML5

Multi Device support, Modular Apps, …

Goals

Long Term Sustainability (enterprise apps live > 10 years)

Boosts Productivity (producing software in Switzerland …)

Easy to learn (newbies productive in 1-2 weeks)

Page 5: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Application Model (Very) Long Term Clean Business Code High Maintainability

Eclipse Scout The Java Story

Page 6: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Rendering HTML5, CSS3, JavaScript Styling & theming

Eclipse Scout The HTML5 Story

Page 7: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Eclipse Scout Commercial Application

Page 8: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Eclipse Scout Hello World

Page 9: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Machine Learning Deeplearning4j

Page 10: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular
Page 11: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Deep Learning Library Open Source Java (most are Python) Good documentation

Features Full GPU support Distributed deep learning Runs with Hadoop + Spark

Deeplearning4j

https://github.com/deeplearning4j/deeplearning4j

Page 12: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

The ML «Hello World» Recognition of handwritten digits

1998 Gradient-based Learing for Document Recognition, Y. LeCun

Page 13: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Handwritten Data

Page 14: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Training of a Neural Network Model

Page 15: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Error Rate and Training Epochs

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

1 2 3 4 5 6 7

Numbers (BSI Data) 9’000 Training images (18 writers) 1’000 Test images (2 writers)

Page 16: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Error Rate and Training Epochs

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

1 2 3 4 5 6 7

Numbers only

MNIST + Numbers

Numbers + MNIST Start with MNIST Modell Train on Numbers 40% Error reduction

Page 17: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Blockchain web3j/Ethereum

Page 18: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Blockchain Bitcoin started the field in 2009 Main Features: Cheap, fast, efficient (traditional setup: T+3 and high fees) Ethereum adds smart contracts Remarkable achievements and much hype

Main Challenges Scalability Privacy Regulatory & legal

Blockchain «Micro-Intro»

Page 19: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

What is it? Piece of byte code (usually written in Solidity) Is executed by the Ethereum Virtual Machine (EVM) Has an owner Examples Greeter (the Ethereum «Hello World») «Truly» autonomous cars

Ethereum Smart Contracts

Page 20: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Ethereum «Hello World»

Page 21: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Smart contract: To order car to transport people (by paying to contract) Smart contract: Car pays for energy/services

«Truly» Autonomous Cars

Page 22: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Ethereum and Application Integration

Ethereum Client Geth/TestRPC/…

Ethereum Peer-to-Peer Network

Interface http://localhost:8545 JSON-RPC

JavaScript

web3 web3j

Java

Page 23: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Library to interact with Ethereum (its peer-to-peer clients) Open Source Java (default is JavaScript) Good documentation

Features JSON-RPC client API implementation Tool to generate Contract Wrappers in Java

web3j

https://github.com/web3j/web3j

Page 24: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Web3j: Generated Contract Wrapper

Page 25: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

PostgreSQL

Ethereum Client TestRPC

web3

Eclipse Scout Backend

web3j JDBC

Eclipse Scout UI (web application)

Page 26: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular
Page 27: #MachineLearning #Blockchain @EclipseScout · What is Eclipse Scout? Business Appliation Framework Open Source Eclipse Project Based on Java and HTML5 Multi Device support, Modular

Thanks! @ZimMatthias