Merken

Getting more out of Matplotlib with GR

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
OK good afternoon thank you for coming to my talk I'm going to tell you something about or you can try to go get the booklet blue with fossil maybe you remember my left year's talked about G framework where our promise to those that the intention to write a bigger than former model also fear and I made a promise to use so in IPython notebook and these are the things which are 1 introduced to you this afternoon so I don't have to
talk about visualization needs I think most of us has the most have the same needs to come to the point that you want to make plots for diagrams and but for a all scientific world we have some more requirements for example we need real-time graphics and the want we want to use a lot of very large datasets and that's so might be challenging so we began to think about another solution and so there are a lot of food is resistance solutions in the world of the most popular ones are mentioned here on the slide and I think the basic local which is also part of the scientific status of Python is made public and it has so some solutions where you can use matplotlib output in the browser maybe you have heard this morning about the book April the sulfur partly which are solutions which allowed to we have a limit but to upload tool rather than the there are even other tools which makes 3 graphics they are a powerful like my the decay or this be but and their rights fast and but the problem is that low level and there are other problems and so on for example in principle you have 3 different thing so you have to know which was which have to mention the need and or operability speech and quality and you can't have all of these 3 things and so we tried to get analysis using we want tool to combine the 2 D and 3 D the hot accelerated 3 the world and you wanted to create back and which cannot only produce the ghost but also also can stream data so this was all primary attention and at that point I started to write them bank and from matplotlib because I didn't know a number of methods to get know all these graphics stuff faster siphoned didn't help so it doesn't make sense to to improve both speedups the numerical code segments and so hot hot acceleration this right nice features but in most cases it cannot be applied to visualizations of because you have your existing code and you want probably probably to mix it with with other groups of of so there was the idea but it would be possible to write a bank and from matplotlib which would be faster and as our sulfur is complete a written in see it is capable of presenting the continuous data streams and so on with a model called G L 3 which has been written by a colleague of mine which hopefully in the audience from reading can also makes 2 D and 3 D graphics into 1 can was or on there is 1 important part that the suffering part now is also a good inter operability that this interoperability is particle user interfaces already frameworks like IPython all in the meantime quality 2 so what can we do with our framework you can combine the however matplotlib and also you can mix the output for example all put through to create on real-time plots of signal analysis over their work and we would whatever you can single and you can for example news video content on the fly you don't have to put your frames into a PNG and and put them together and to render them as a semantic file you can do it on the fly and 1 of the important point is that you can really makes to Woody and 3 new graphics elements so how does this all work I don't wanna go into the details cause I wanna show you some demos later but they due to the layer structure of G R which contains Logical Device Rob also nearly every technique of those we have today in the media we are not so that there's no dependency on third-party software so we can really make so comp components together and we have a very good so really the sulfur which is capable of producing a tumor fires all output and all these things so so this is the output of the matplotlib GR thick and you can see that there is no difference to the quality original all toward the only part of advantage is that it's a little bit fast and so you can see that you are framework and action you can really producer the rod fast all put for example you can take an audio signal calculates for you transform of this audio signal and displayed in real time this is done in the middle section in the right section you could see that you can produce a molecule of indicating that the kinetic and visualize a molecule sequence of while on the right side of creating this 1 was matplotlib so they can be combined in 1 plot and you don't have to change any line of code in your matplotlib examples so another feature dimensions right now you can use a job for a break in the notebooks were found in new Britain which is a follower of it can be used both with Python and Julia I was very excited so above the performance
but I had no expectations and so when I saw the 1st results I was a little bit disappointed you can see is left tool bars that that's when using the G of X and the performance improvement is only a factor of 2 what we I had expected much more because in the right but you can see that with the G America as a standalone software in you because you will get much higher results the so we have to explain what what's what's the reason for that and you can see in those codes and those lock files here which I have produced with with the past profile that's a matplotlib is wasting too much time in price so so it doesn't sense enough output to the graphic slope up to the graphics back and but is organizing blog data and to enter the data files so at this point I was a little bit disappointed and so on but then we had another new feature the interoperability and on this side may be delivered to small you can see how you can mix different so code I did not change any line in the matplotlib code in this example and I did not change any line and the G 3 cold and simply put them 1 after the other and this can then be displayed as a sequence in in in 1 of can be or and whether in in 1 rectangles there's another advantage if you have such a sequence you can create Olympic from for example on the fly without right adding any animation called make additional matplotlib you always have to watch to to we find some information functions and then try to but you are gross things together it's not required with this G off from actually have because I wanted to here also it's possible to use inline graphics both this matplotlib and it's not a problem to produce inline figure of this but but in the come to the bond that you want to get extremes it's much easier to visit your framework and I will show you later how this works although I have to say that is that you so for so it's again 10 times faster than men so at this point I would like to show you some demos so let's start with the animation example can you OK for prediction of they show for of the 24 some right retirement but lived to use inline graphics and we create a figure which right now is empty and then he have to do an animation loop we have to define animation function when we start the rules and in the final step to to save this animation and this takes a lot of stars and once this is done matplotlib will give us an impact which can be displayed here and the abroad positive HTML markup hopefully could focus your attention but I have seen as little complicated because you have to write this convex function you have to work to trigger this animation movement all these things are not very comfortable because you have to write x 4 approach so let's try this with some the matplotlib that unfortunately I have to results because of this time because matplotlib only checks ones whether there is an external back and the way the world so I have to restart the kernel also has to redefine my number race and now I can't tell matplotlib to usage of framework and rich cannot generate a movie on the fly again important but I create the Protestant can you so he has to run it's like matplotlib has to do with 2 but you have seen we didn't there was no need to write in a public function and animation function you could make information on the fly without any change of the moment so finally let me show you how this works this you the GII framework simple loop also or already told so the Gr from a to generate inline graphics and conceal their only freelance of code and you have the same animation you the speaker's saying because a frame rate is set to the exact same way so let's take another example I want to show you that there are advantages concerning interoperability in this example of our use of that part of package to the war is a world of some angles I use of G L 3 module called multi from molecule of 1 of the dynamics of was agents to read and visualize a sequence of molecules then I added to the plot as shown in 1 of the earliest slides using GR and so so let's look terrorist works again I Estimate but better and I use of 3 D package mostly to read the data from which contains coordinates of the atoms then I use the GR from moment GR to generate generate movie on the fly and to postpone the the the the output that is important than that because we probably should not create the all approach to early so now we started this should take some
time because we have to run about 100 scenes it the correctional this afternoon OK now done and
finally the show what has played the random and you can see we
have both G output will stop the job output we
have matplotlib upload and we have output from you're framework and it would have been so we
can see what happens and we have this
line all put on the bottom and all this is done in real time it has rendered in real time when you can produce it and and about so there's 1 nice feature which also want to show you can export this scene from our jails resources and then even rotated in the world of but something which for and has written which we problem we'll make available for tool the residents in the next release so that's the next 1 and I
talked about in line graphics so we have to speed up a little bit from the read some data here and you see that in many graphics with matplotlib is a little bit slow and it's it's figuring and so there's a function I never knew about it's called clear output which is part of our price and then you can use this function tool recreates or we draw your plot this it's very useful for scientists will generate sequences of products and the ball will sort of make the same now this year and you can see it's much faster and it's less code so we have a speed up of 10 years and you can even more here but you can even do this in JavaScript so was an explosion we can create this all put as generous Javascript html file which can then be displayed in real which will be much faster than our right now we have finished writing a journalist a prominent with an explosion and make it available the in the open source so let's take a list example of this is an example taken from the sign of the torque from from that let go which has
produced this graph here and I
just wanna show that will also
you can visualize in real-time in 3 D it's figuring at this time but I have to mention that all these data has to be inference that from the kernel to the browser and back again so that's much traffic Europe maybe the stem makes no sense I only wanna show you that there's a lot of fruitful performance OK that's for the demo so and so I already
mentioned that we are planning tool make urgent job was that you have written Java Script Logical Device force of the which can then be used for example to embed javascript code in your you beat browser all you put the right around JavaScript code and data and and to visualize this by which has been generated by by the and then fill it with your own JavaScript code you write starts and you can see that they are nearly the same commands that are the same commands which are used in of C or in bison on Julio OK what can and cannot do not be used for the earlier some examples spinal and new
the development of a colleague of mine and which will be made to available for the open source close to the very soon and then we have the because the next instrument control system which has been written by our 2 colleagues of mine which will demonstrated when the poster session tomorrow at almost the and so what are the conclusions but you can use matplotlib and cancer as a job the logically was terrible but the speedups are not expected and it's mostly from times 2 or 3 faster but I think the 2nd feature that you can mix the 2 D and 3 D graphics and that you can create movies on the floor is still something which could be interesting for for most of you especially for scientists and you can produce plots in Figure much faster with the G framework and that's the reason why we are really planning to to write a complete matplotlib implementation pilot implementation see because I think that the future of and so on but this is these are all plans for the future and I hope I can fulfill my promises next year and show you what we have done so thank you for your attention the we have 5 minutes
form question to the any the
questions so it basically question for us this is quite popular in the scientific community is you should have the PyMol word where else do you see this 1st not scientific community applications they're not so much
as inferred from movement both you can compare those that function of packages the negative side of variable because it's could it's has already written years ago but now we have from written both for the victims and both were Julia and for supplies that problem and I think that it would be more popular in the near future course especially with Julio you can get even more performance and show to the and so as to European called Python modules that might be very challenging so as I hope that there will be more users in the future and the question should address OK
what size just again for his presentation
Informationsmodellierung
Notebook-Computer
Framework <Informatik>
Demo <Programm>
Momentenproblem
Leistungsbewertung
Browser
Extrempunkt
Computeranimation
Streaming <Kommunikationstechnik>
Prognoseverfahren
Code
Kontrollstruktur
Analytische Fortsetzung
Gerade
Winkel
Güte der Anpassung
Profil <Aerodynamik>
Gruppenoperation
Software
Rechter Winkel
Ext-Funktor
Lesen <Datenverarbeitung>
Subtraktion
Folge <Mathematik>
Mathematisierung
Rechteck
Ordinalzahl
Loop
Informationsmodellierung
Erwartungswert
Modul <Datentyp>
Widget
Inhalt <Mathematik>
Datenstruktur
Analysis
Elektronische Publikation
Modul
Menge
Echtzeitsystem
Leistung <Physik>
Partikelsystem
Resultante
Bit
Punkt
Beschreibungssprache
Kardinalzahl
Konkave Funktion
Lie-Gruppe
Eins
Übergang
Videokonferenz
Kernel <Informatik>
Metropolitan area network
Prozess <Informatik>
Visualisierung
Mixed Reality
Plot <Graphische Darstellung>
Figurierte Zahl
Funktion <Mathematik>
Nichtlinearer Operator
Lineares Funktional
Analoge Signalverarbeitung
Plot <Graphische Darstellung>
Programmierumgebung
Teilbarkeit
Speicherbereichsnetzwerk
Variable
Rechenschieber
Diskrete-Elemente-Methode
Garbentheorie
Information
Reelle Zahl
Extreme programming
Rahmenproblem
Ortsoperator
Hausdorff-Dimension
Gruppenoperation
Zahlenbereich
Sprachsynthese
Framework <Informatik>
Code
Data Mining
W3C-Standard
Multiplikation
Software
Datenstrom
Notebook-Computer
Front-End <Software>
Inverser Limes
Zusammenhängender Graph
Hilfesystem
Hardware
URL
Schätzwert
Benutzeroberfläche
Diskretes System
Visuelles System
Videokonferenz
Diagramm
Hypermedia
Mereologie
Codierung
Demoszene <Programmierung>
Metropolitan area network
Jensen-Maß
VIC 20
Elektronischer Datenaustausch
Winkel
Extrempunkt
Cloud Computing
Computeranimation
Metropolitan area network
Elektronische Publikation
VLSI
Prozess <Informatik>
Zellularer Automat
Code
Elektronischer Datenaustausch
Systemaufruf
Framework <Informatik>
Computeranimation
Funktion <Mathematik>
Demoszene <Programmierung>
Metropolitan area network
Elektronische Publikation
Echtzeitsystem
Zellularer Automat
Code
Minimum
Gerade
Computeranimation
Lineares Funktional
Bit
Folge <Mathematik>
Graph
Open Source
Mailing-Liste
Plot <Graphische Darstellung>
Extrempunkt
Biprodukt
Elektronische Publikation
Code
Computeranimation
Metropolitan area network
Generator <Informatik>
Diskrete-Elemente-Methode
Rechter Winkel
Vorzeichen <Mathematik>
Mereologie
Gerade
Gammafunktion
Funktion <Mathematik>
Metropolitan area network
Demo <Programm>
Browser
Extrempunkt
Computeranimation
Gammafunktion
Kernel <Informatik>
Mathematische Logik
Browser
Applet
Browser
Parser
Applet
Code
Computeranimation
Datensichtgerät
Portscanner
Metropolitan area network
Mailing-Liste
Verknüpfungsglied
Forcing
Prozess <Informatik>
Rechter Winkel
Code
Skript <Programm>
Skript <Programm>
Compiler
Vervollständigung <Mathematik>
Open Source
Automatische Handlungsplanung
Implementierung
Plot <Graphische Darstellung>
Treiber <Programm>
Framework <Informatik>
Computeranimation
Data Mining
Portscanner
Metropolitan area network
Integral
Bildschirmmaske
Prozess <Informatik>
Regelkreis
Softwareentwickler
Figurierte Zahl
Ext-Funktor
Lineares Funktional
Variable
Negative Zahl
Kartesische Koordinaten
Wort <Informatik>
Fastring
Computeranimation
Metropolitan area network
Kombinatorische Gruppentheorie
Computeranimation
Gammafunktion
Endlicher Graph

Metadaten

Formale Metadaten

Titel Getting more out of Matplotlib with GR
Serientitel EuroPython 2015
Teil 60
Anzahl der Teile 173
Autor Heinen, Josef
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/20141
Herausgeber EuroPython
Erscheinungsjahr 2015
Sprache Englisch
Produktionsort Bilbao, Euskadi, Spain

Technische Metadaten

Dauer 21:03

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Josef Heinen - Getting more out of Matplotlib with GR Python is well established in software development departments of research and industry, not least because of the proliferation of libraries such as SciPy and Matplotlib . However, when processing large amounts of data, in particular in combination with GUI toolkits ( Qt ) or three-dimensional visualizations ( OpenGL ), Python as an interpretative programming language seems to be reaching its limits. In particular, large amounts of data or the visualization of three- dimensional scenes may overwhelm the system. This presentation shows how visualization applications with special performance requirements can be designed on the basis of Matplotlib and GR , a high-performance visualization library for Linux, OS X and Windows. The lecture focuses on the development of a new graphics backend for Matplotlib based on the GR framework. By combining the power of those libraries the responsiveness of animated visualization applications and their resulting frame rates can be improved significantly. This in turn allows the use of Matplotlib in real- time environments, for example in the area of signal processing. Using concrete examples, the presentation will demonstrate the benefits of the [GR framework] as a companion module for Matplotlib , both in Python and Julia . Based on selected applications, the suitability of the GR framework will be highlighted especially in environments where time is critical. The system’s performance capabilities will be illustrated using demanding live applications. In addition, the special abilities of the GR framework are emphasized in terms of interoperability with graphical user interfaces ( Qt/PySide ) and OpenGL , which opens up new possibilities for existing Matplotlib applications.
Schlagwörter EuroPython Conference
EP 2015
EuroPython 2015

Zugehöriges Material

Ähnliche Filme

Loading...