Jupyter and TMVA. Attila Bagoly (Eötvös Loránd University, Hungary) Mentors: Sergei V. Gleyzer Enric Tejedor Saavedra

Similar documents
Machine Learning Software ROOT/TMVA

Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples

Simple ML Tutorial. Mike Williams MIT June 16, 2017

DDR & jquery More than just hover & dropdown

Nbconvert Refactor Final 1.0

Client Side JavaScript and AJAX

OpenDreamKit. Computational environments for research and education Min Ragan-Kelley. Simula Research Lab

Data Visualization on the Web with D3

Sparrow Client (Front-end) API

welcome to BOILERCAMP HOW TO WEB DEV

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway.

Create Web Charts. With jqplot. Apress. Fabio Nelli

Development of Machine Learning Tools in ROOT

New Perspectives On HTML, CSS, And Dynamic HTML Ebooks Free

CircuitPython with Jupyter Notebooks

IPython-Dashboard Documentation

FolderView DMXzone.com FolderView Manual

[%]%async_run. an IPython notebook* magic for asynchronous (code) cell execution. Valerio Maggio Researcher

FolderView DMXzone.com Folder View 2 Manual

Frameworks in Python for Numeric Computation / ML

When learning coding, be brave

Reading Writing Speaking Reading Writing Speaking. English Intermediate Intermediate Elementary Intermediate Intermediate Elementary

Homework 01 : Deep learning Tutorial

WEB DEVELOPER BLUEPRINT

Participation Status Report STUDIO ELEMENTS I KATE SOHNG

WebGL and GLSL Basics. CS559 Fall 2015 Lecture 10 October 6, 2015

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav

Programming: Computer Programming For Beginners: Learn The Basics Of Java, SQL & C Edition (Coding, C Programming, Java Programming, SQL

today what is this course about? what is this course about? Welcome to CSC309! Programming on the Web APRIL 05

Scientific computing platforms at PGI / JCNS

Tutorial on Machine Learning Tools

A Web-based control and monitoring system for DAQ applications

Notebooks for documenting work-flows

HTML Advanced Portlets. Your Guides: Ben Rimmasch, Rahul Agrawal

yawrap Documentation Release Michal Kaczmarczyk

WebGL and GLSL Basics. CS559 Fall 2016 Lecture 14 October

Microsoft Programming in HTML5 with CSS3 JavaScript and. Download Full Version :

Simple AngularJS thanks to Best Practices

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Internet: An international network of connected computers. The purpose of connecting computers together, of course, is to share information.

Webomania Solutions Pvt. Ltd. 2017

DBNsim. Giorgio Giuffrè. 0 Abstract How to run it on your machine How to contribute... 2

Getting started with Convertigo Mobilizer

WELCOME TO JQUERY PROGRAMMING LANGUAGE ONLINE TUTORIAL

Exercise 3: ROC curves, image retrieval

Tutorials (M. Biehl)

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

Server/Client approach for ROOT7 graphics. Sergey Linev, April 2017

Machine learning algorithms for datasets popularity prediction

A system for statistical analysis. Instructions for installing software. R, R-studio and the R-commander

Data Visualization With Chart.js. Alireza Mohammadi Fall 2017

Drag and Drop Form Builder. Data Verity #2 Erikka Baker James Miller Jordan Schmerge

Displaying ndtv Graphics in Spotfire using TERR and JSViz

Chapter 20- Springs, Screws and Gears

PlayerLync Forms User Guide (MachForm)

Organizational Charts

Jquery Ajax Json Php Mysql Data Entry Example

Wakanda Architecture. Wakanda is made up of three main components: Wakanda Server Wakanda Studio Wakanda Client Framework

Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur

Qiufeng Zhu Advanced User Interface Spring 2017

CS474 MULTIMEDIA TECHNOLOGY

CSS & Troubleshooting IE6

Deep Convolutional Neural Networks. Nov. 20th, 2015 Bruce Draper

Metview s new Python interface first results and roadmap for further developments

Diving into Big Data Workshop

Enhanced Model Deployment in GAMS

Python Scripting for Computational Science

Quick.JS Documentation

HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION

Documentation for the new Self Admin

CIS 3308 Web Application Programming Syllabus

D3 + Angular JS = Visual Awesomesauce

Dynamics and Vibrations Mupad tutorial

Messaging App Forensics with Autopsy

Fish Eye Menu DMXzone.com Fish Eye Menu Manual

Web API Lab. The next two deliverables you shall write yourself.

Design Document V2 ThingLink Startup

Javascript Performance in the Browser. Charlie Fiskeaux II User Interface Engineer

yawrap Documentation Release Michal Kaczmarczyk

Read & Download (PDF Kindle) Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (C++, Javascript, PHP, Python, Sql,

HTML. Based mostly on

We are assuming you have node installed!

Multiple Choice Question Generator on Gitlab Markdown Wiki

OU Mashup V2. Display Page

Html5 Css3 Javascript Interview Questions And Answers Pdf >>>CLICK HERE<<<

Assignment: Seminole Movie Connection

The Structure of the Web. Jim and Matthew

Angular 2 and Hexo. Static Meets Dynamic For the Best of Both Worlds! Copyright 2016 Code Career Academy

Python Scripting for Computational Science

Sequence Modeling: Recurrent and Recursive Nets. By Pyry Takala 14 Oct 2015

Tapestry. Code less, deliver more. Rayland Jeans

Learn CSS In One Day And Learn It Well (Includes HTML5): CSS For Beginners With Hands-on Project. The Only Book You Need To Start Coding In CSS...

ELAC 2018 INTRODUCTION TO DATA SCIENCE. Day 2 Rafael Santos

WEB DESIGNING COURSE SYLLABUS

LEARN JAVA FOR WEB DEVELOPMENT

CS 523: Multimedia Systems

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

The vision provider. The vision provider. The newbie. The newbie. The vision provider is often a creative director for a digital team.

About Intellipaat. About the Course. Why Take This Course?

Transcription:

Jupyter and TMVA Attila Bagoly (Eötvös Loránd University, Hungary) Mentors: Sergei V. Gleyzer Enric Tejedor Saavedra 1

Motivation Jupyter notebook: Interactive coding environment Document: HTML, Markdown support Shareable: SWAN, nbviewer, binder Current status of TMVA: We can t use TMVAGui We can read back the classifier outputs and we can make visualizations. BUT users don t want to spend time with making visualizations Integrating TMVA in Jupyter: Support for TMVAGui in notebooks New visualizations Pythonic interface for a bunch of functions Interaction: changes modify the state of TMVA HTML formatted output 2

Code structure Importing ROOT will import JsMVA, this will register jsmva magic %jsmva on: JPyInterface inserts new methods to TMVA.DataLoader and TMVA.Factory, overloads some functions with a wrapper, register HTML transformer function New methods: inserting HTML to cell output, with JavaScript call for JsMVA.js JsMVA.js using JsROOT to create JavaScript plots 3

TMVAGui visualizations Visualizations related to input variables Correlation matrix Input variables Transform input variables & show Visualizations related to classifier outputs ROC curve Output distributions Cut efficiencies 4

Classifier output: Neural networks, decision trees Simple neural network Python function reads the network, converts to JSON; JS with d3js make the visualization from JSON Interactive: focusing connections, zooming, moving Deep neural network HTML5 Canvas visualization (speed) Less interactive: zooming, moving Decision trees Ipywidgets: input field for selecting the tree Visualization from JSON with D3js Interactive: closing subtree, showing the path, focusing, moving, zooming, reset 5

Interactive training mode C++ interface for tracking/stopping the training New thread for training Main thread periodically refreshes the plot (inserts small JS script, which removes itself) Error plots supported for MLP, DNN, BDT methods Progress bar for a bunch of methods Stop button: by clicking on it the main thread will send stop message for training loop (just the loop, no interfere with saving the net, or other data) 6

Pythonic user interface, tutorial notebooks New interface Option strings not very nice, we can do better in python Bunch of functions use option string Wrapper functions for them, with jsmva magic these functions are replaced with corresponding wrapper function The settings can be passed by named arguments: V=True,Transformations=[ I, D ] will be translated to!v:transformations=i,d Tutorial: http://nbviewer.jupyter.org/github/qati/gsoc16/blob /master/notebooks/rootbooks-tmva-jsmva- UserInterface.ipynb 7

Deep neural network builder Booking DNN confusing: lot of settings, everybody forgets the exact names Graphical interface: booking DNN with pleasure We can add different types of layers Specify the neuron number and training strategy for layer Connect the layers: building the network Save network: transform the graphical representation to option string and books the method 8

HTML formatted output jsmva magic register output transformer function to JupyROOT also inserts CSS (for transformed output tables style) to notebook The output transformer class: 1. Regular expressions for matching different output lines => logical units 2. Based on matchings the output is transformed to table structure (style: CSS) 3. Correlation matrix: table => histogram => JsROOT visualization in popup window (jquery) 9

Notebooks Everything on GitHub: https://github.com/qati/gsoc16 Notebooks on nbviewer (static, rendered): http://nbviewer.jupyter.org/github/qati/gsoc16/blob/master/index.ipynb Notebooks on binder (interactive): www.mybinder.org/repo/qati/gsoc16 Or you can download: https://github.com/qati/gsoc16/tree/master/notebooks 10

Thank you for your attention! 11