{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.1"}, "schedule": {"url": "https://pretalx.com/euroscipy-2019/schedule/", "version": "0.10", "base_url": "https://pretalx.com", "conference": {"acronym": "euroscipy-2019", "title": "EuroSciPy 2019", "start": "2019-09-02", "end": "2019-09-06", "daysCount": 5, "timeslot_duration": "00:05", "time_zone_name": "UTC", "colors": {"primary": "#8CAAE6"}, "rooms": [{"name": "Track 1 (Mitxelena)", "slug": "76-track-1-mitxelena", "guid": "ce709522-7868-5963-994b-f188cf865f49", "description": null, "capacity": 441}, {"name": "Track 2 (Baroja)", "slug": "77-track-2-baroja", "guid": "80b23020-5895-5cbf-a86d-d0fa63d36b2f", "description": null, "capacity": 161}, {"name": "Track 3 (Oteiza)", "slug": "78-track-3-oteiza", "guid": "357064ac-3ea3-528f-abe9-f3c171715b29", "description": null, "capacity": 150}, {"name": "Track4 (Chillida)", "slug": "93-track4-chillida", "guid": "d160d434-8351-5cc7-ad37-04fcbb7e597b", "description": null, "capacity": 80}, {"name": "Maintainer's track (Elhuyar)", "slug": "94-maintainers-track-elhuyar", "guid": "50a293dd-cc6d-529d-b871-2bf4e8c8f6a1", "description": null, "capacity": 24}, {"name": "Posters at 16:00", "slug": "95-posters-at-1600", "guid": "704c4cdd-f0ca-5a86-9e38-22b95c1a2ad4", "description": null, "capacity": null}], "tracks": [], "days": [{"index": 1, "date": "2019-09-02", "day_start": "2019-09-02T04:00:00+00:00", "day_end": "2019-09-03T03:59:00+00:00", "rooms": {"Track 2 (Baroja)": [{"guid": "1d9c0ef9-059e-563f-b451-9a7fa013ea34", "code": "QPKHMG", "id": 1396, "logo": null, "date": "2019-09-02T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1396-getting-started-with-jupyterlab", "url": "https://pretalx.com/euroscipy-2019/talk/QPKHMG/", "title": "Getting Started with JupyterLab", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "JupyterLab is used for essentially all other tutorials at EuroSciPy. This tutorial gives an overview over the basic functionality and shows how to use some of the many tools it provides to simplify your Python programming workflow.", "description": "This tutorial is hands-on. It is designed  for participants who haven't used the JupyterLab yet or have only minimal experience with it. Participant will work along with the trainer and learn how a Jupyter Notebook work by using some basic features.\n\nSome of the topics are:\n\n* Client-server concept\n* How cells work\n* Basic markdown\n* Magic commands overview\n* Some magic commands in more detail\n* Debugging basics\n* Basic timing and profiling\n* Extensions\n* History of variables\n* Saving to files\n* and more\n\nThere will be room for questions during the tutorial as well as a dedicated FAQ session at the end.\n\nAfter this tutorial participants should be able to comfortably follow  the other tutorials that are delivered with a Jupyter Notebook.\n\n# Requirements and set up instructions\n\nTraining will be doe wit Python 3.7 and the latest Jupyter Lab version.\n\n*  Install Anaconda\n\nalternatively\n\n* Install Miniconda and `conda install jupyterlab`\n\nalternatively\n\n* Create a new conda environment: \n    + `conda create -n jupyterlabtutorial python=3.7 jupyterlab` and activate it with \n    + `conda activate   jupyterlabtutorial`", "recording_license": "", "do_not_record": false, "persons": [{"code": "9KSJ3K", "name": "Mike M\u00fcller", "avatar": "https://pretalx.com/media/avatars/9KSJ3K_0gV51CH.webp", "biography": "Founder and trainer of Python Academy", "public_name": "Mike M\u00fcller", "guid": "83509971-e18d-5ad6-843b-373fc98d3359", "url": "https://pretalx.com/euroscipy-2019/speaker/9KSJ3K/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/QPKHMG/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/QPKHMG/", "attachments": []}, {"guid": "9e585e96-c0a5-5f7a-ad92-6212b823e0dd", "code": "KRNP7Y", "id": 2502, "logo": null, "date": "2019-09-02T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2502-never-get-in-a-battle-of-bits-without-ammunition", "url": "https://pretalx.com/euroscipy-2019/talk/KRNP7Y/", "title": "Never get in a battle of bits without ammunition", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "The `numpy` package takes a central role in Python scientific ecosystem. \nThis is mainly because `numpy` code has been designed with\nhigh performance in mind. This tutorial will introduce the main features of in numpy in `90` mins.", "description": "# Outline\n\n**Part 1** Numpy Basics\n\n- Introduction to NumPy Arrays\n    - numpy internals schematics\n    - Reshaping and Resizing\n- Numerical Data Types\n    - Record Array\n    \n**Part 2** Indexing and Slicing\n    \n- Indexing numpy arrays\n    - fancy indexing\n    - array masking\n    \n- Slicing & Stacking\n- Vectorization & BroadCasting\n\n**Part 3**  \"Advanced\" NumPy\n\n- Serialisation & I/O\n    - `.mat` files\n- Array and Matrix\n    - Matlab compatibility\n- Memmap \n- Bits of Data Science with NumPy\n- NumPy beyond classic `numpy`\n\n### Python version\n\nThe minimum recommended version of Python to use for this tutorial is **Python 3.5**, although \nPython 2.7 should be fine, as well as previous versions of Python 3. \n\nPy3.5+ is recommended due to a reference to the `@` operator in the linear algebra notebook.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7FNYLG", "name": "Valerio Maggio", "avatar": "https://pretalx.com/media/avatars/7FNYLG_BV40tvF.webp", "biography": "Valerio Maggio is a Data Scientist and Post-doc Researcher. \nHe has a Ph.D. in Computer Science from the University of Naples \u201cFederico II\u201d, and he is currently enrolled as \nResearch/Cloud Software Engineer at FBK/MPBA. \nHis research interests focus on Reproducible Science and Machine/Deep Learning methods for Computational Biology and Precision Medicine.\nValerio is also a very active fellow in the Italian Python community and member of the organising committee of many \nPython Conferences (i.e. EuroPython, PyCon/PyData Italy, EuroSciPy).", "public_name": "Valerio Maggio", "guid": "0e743b98-ef1f-5b50-b5ff-620ca1d70d86", "url": "https://pretalx.com/euroscipy-2019/speaker/7FNYLG/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/KRNP7Y/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/KRNP7Y/", "attachments": []}, {"guid": "cb798535-d0f3-5f59-99fd-015dc4f2c543", "code": "G7CTX8", "id": 2641, "logo": null, "date": "2019-09-02T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2641-introduction-to-pandas", "url": "https://pretalx.com/euroscipy-2019/talk/G7CTX8/", "title": "Introduction to pandas", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This tutorial is an introduction to pandas for people new to it. We will cover how to open datasets, perform some analysis, apply some transformations and visualize the data", "description": "pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with \u201crelational\u201d or \u201clabeled\u201d data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It is already well on its way toward this goal.\n\nThis tutorial will use couple of example data sets to show what pandas can do, and get an idea on how to work with data using pandas.\n\nIt is recommended to bring your own laptop with the latest version of Anaconda, pandas, Jupyter, and the repository of the tutorial cloned. See the exact instructions here: https://github.com/datapythonista/pandas-tutorials", "recording_license": "", "do_not_record": false, "persons": [{"code": "SXWKLX", "name": "Marc Garcia", "avatar": "https://pretalx.com/media/avatars/SXWKLX_IbqSgiE.webp", "biography": "Marc Garcia is a pandas core developer and Python fellow.\n\nHe has been working in Python for more than 12 years, and worked as data scientist and data engineer for different companies such as Bank of America, Tesco and Badoo.\n\nHe is a regular speaker at PyData and PyCon conferences, and a regular organizer of sprints.", "public_name": "Marc Garcia", "guid": "11f6398c-e732-5df4-b54c-9e44f270823f", "url": "https://pretalx.com/euroscipy-2019/speaker/SXWKLX/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/G7CTX8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/G7CTX8/", "attachments": []}], "Track 3 (Oteiza)": [{"guid": "0863ce8c-ff34-50f1-9df8-5ee1f437c20e", "code": "A8KBUB", "id": 1389, "logo": null, "date": "2019-09-02T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1389-hands-on-tensorflow-2-0", "url": "https://pretalx.com/euroscipy-2019/talk/A8KBUB/", "title": "Hands-on TensorFlow 2.0", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "A hands-on introduction to TensorFlow 2.0 at an intermediate difficulty level, with code examples for Deep Dream, Style Transfer, and Image Colorization.", "description": "A hands-on introduction to TensorFlow 2.0 at an intermediate difficulty level. In this 90 minute tutorial, we will briefly introduce TensorFlow 2.0, then dive in to writing code. We will complete four short exercises on Deep Dream, Style Transfer, Image colorization, and GANs (if time allows). This tutorial is intermediate level, for folks with prior Deep Learning experience. You will need a laptop with an internet connection, there is nothing to install in advance.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QEVSWY", "name": "Josh Gordon", "avatar": null, "biography": "Josh Gordon is a Developer Advocate at Google, and teaches Applied Deep Learning at Columbia University and Pace University. You can find him on Twitter at https://twitter.com/random_forests", "public_name": "Josh Gordon", "guid": "07a90a1d-e51c-5db0-ad12-8cfd5ceb3d6e", "url": "https://pretalx.com/euroscipy-2019/speaker/QEVSWY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/A8KBUB/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/A8KBUB/", "attachments": []}, {"guid": "5ccfbcf7-7395-5845-bec6-ad8ff8034987", "code": "Q79NND", "id": 1796, "logo": null, "date": "2019-09-02T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1796-deep-diving-into-gans-from-theory-to-production-with-tensorflow-2-0", "url": "https://pretalx.com/euroscipy-2019/talk/Q79NND/", "title": "Deep Diving into GANs: From Theory to Production with TensorFlow 2.0", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "GANs are one of the hottest topics in the ML arena; however, they present a challenge for the researchers and the engineers alike. This workshop will guide you through both the theory and the code needed to build a GAN and put into production.", "description": "GANs are the new hottest topic in the ML arena; however, they present a challenge for the researchers and the engineers alike. Their design, and most importantly, the code implementation has been causing headaches to the ML practitioners, especially when moving to production.\n\nThe workshop aims at providing a complete understanding of both the theory and the practical know-how to code and deploy this family of models in production. By the end of it, the attendees should be able to apply the concepts learned to other models without any issues.\n\nWe will be showcasing all the shiny new APIs introduced by TensorFlow 2.0 by showing how to build a GAN from scratch and how to \"productionize\" it by leveraging the AshPy Python package that allows to easily design, prototype, train and export Machine Learning models defined in TensorFlow 2.0.\n\n------\n\nThe workshop is composed of\n\n- Theoretical introduction\n- GANs from Scratch in TensorFlow 2.0\n- High-performance input data pipeline with TensorFlow Datasets\n- Introduction to the AshPy API\n- Implementing, training, and visualizing DCGAN using AshPy\n- Serving TF2 Models with Google Cloud Functions\n\nThe materials of the workshop will be openly provided via GitHub (https://github.com/zurutech/gans-from-theory-to-production) prior to the event and will be run on Colab leveraging the free GPU \n\n**Note**: the workshop requires Python 3.7 to run, therefore the colab support is still uncertain. The attendees are encouraged to bring their own devices with Python 3.7 installed and ready to use.\n\n## Requirements and set up instructions\n\nTwo options available:\n\n1. (recommended). Use Google Colab & Binder. Every notebook has a button to lunch the correct tool. Just use it.\n2.  Local setup: follow the instructions in the README https://github.com/zurutech/gans-from-theory-to-production", "recording_license": "", "do_not_record": false, "persons": [{"code": "GAWBSA", "name": "Michele \"Ubik\" De Simoni", "avatar": "https://pretalx.com/media/avatars/GAWBSA_ZmZuQdF.webp", "biography": "Lover of \ud83d\udc27\ud83d\udc27. Pythonista \ud83d\udc0d. Machine Learning Engineer \ud83e\udd16. Mad Scientist. Evil Mastermind. Walking Beard. Tinkerer. Nerd. Tech junkie.\n\nProgramming turned the tide of a crippling, panic-attacks inducing depression caused by a profound unsatisfaction with my choice of an academic career. During 2016 and 2017 I developed a burning passion for Python, robotics, Linux, Open Source/Hardware/Data/Science, and all things Machine Learning, I devoted myself day and night to learn the craft. My passion never waned and my drive toward knowing more grows each day.\n\nCurrently employed as a Machine Learning Engineer at zuru.tech, there I lead the research effort on GANs (and everything else relating to either the generative or the adversarial world of Deep Learning), help with Computer Vision and act as the Supreme Overlord of the Data Pipeline that feeds our AIs.", "public_name": "Michele \"Ubik\" De Simoni", "guid": "6cb93ad9-4712-5b79-b7cd-683d04903afc", "url": "https://pretalx.com/euroscipy-2019/speaker/GAWBSA/"}, {"code": "XT3JVZ", "name": "Paolo Galeone", "avatar": "https://pretalx.com/media/avatars/XT3JVZ_Di7Pdvh.webp", "biography": "Computer Engineer + Machine Learning & Computer Vision researcher + Google Developer Expert in Machine Learning.\n\nHe received his MSc in 2016 with a thesis on the application of convolutional neural networks to the object detection and classification problems. After this, he took up research as a career and became a research fellow at the Computer Vision Laboratory at the University of Bologna, Italy, where he worked on a broad range of topics such as object detection, classification, coordinate regression, and anomaly detection. Currently, he leads the computer vision and machine learning department at ZURU Tech, Italy.\n\nWhile in school, university and at work, he developed several projects spanning a broad range of topics such as database abstraction layers, a complete social network covering both the back-end and front-end aspects, several tools for machine learning developers and researchers with the aim to simplify the machine learning pipeline.\nAll his computer vision and machine learning projects have been implemented using the framework he loves: Tensorflow.\n\nAll these projects were completely open-source and are available on his Github profile at https://github.com/galeone.\nHe also blogs about Computer Vision, Machine Learning and Linux system administration. You can find his blog at https://pgaleone.eu/", "public_name": "Paolo Galeone", "guid": "7e8228ac-e1e9-5b2a-a4ee-2ad9a42e1626", "url": "https://pretalx.com/euroscipy-2019/speaker/XT3JVZ/"}, {"code": "X3NHDJ", "name": "Federico Di Mattia", "avatar": null, "biography": "Machine Learning & Computer Vision Engineer.\n\nHe received his MSc in Computer Science and Engineering at the University of Modena and Reggio Emilia. He spent a period working with the Computer Vision team at the Queen Mary University in London where he worked on his research thesis on a cognitive people tracker.\n\nHe worked on different Computer Vision related projects regarding security systems and worked on image processing algorithms. With a passion for psychology and negotiation, he tries always to get the best from people and the work environment.\n\nRecently, working in Zuru, he could go in-depth in the research and studies of deep-learning algorithms applied to numerous areas using Tensorflow and Keras. During the last year, he had the chance to work on multiple tasks such as classification, segmentation, and anomaly detection.\n\nCurrently, he is working on Generative Adversarial Networks and many different Computer Vision tasks.\n\nTwitter: @iLeW Github: https://github.com/iLeW", "public_name": "Federico Di Mattia", "guid": "00f6ec0f-4aef-55bb-9024-e20ef0bef0f5", "url": "https://pretalx.com/euroscipy-2019/speaker/X3NHDJ/"}, {"code": "HHHYER", "name": "Emanuele Ghelfi", "avatar": null, "biography": "Machine Learning and Computer Vision Engineer @ ZURU Tech Italy\n\nEmanuele received the M.Sc. Degree in Computer Science and Engineering at Politecnico di Milano with 110L/110 in December 2018. In particular, he followed the Artificial Intelligence (AI) track. The AI track includes courses like Game Theory, Machine Learning, Robotics, Image Analysis and Computer Vision, Autonomous Agent and Multi-Agent Systems and Natural Language Processing.\nHis thesis is located in the Machine Learning field, and more precisely in the Reinforcement Learning field. The paper from his thesis has been accepted at the International Conference on Machine Learning (ICML) 2019.\n\nSince November 2018, he has been working as a Machine Learning and Computer Vision Engineer at Zuru Tech Italy.\nCurrently, he's working on Generative Models (GANs) and on Recurrent Models (LSTM). In addition, he deals with Computer Vision tasks applied to complex industrial processes.\n\nGitHub: https://github.com/EmanueleGhelfi\nWebsite: emanueleghelfi.github.io", "public_name": "Emanuele Ghelfi", "guid": "f1b286e8-147e-5f1f-bcb1-389e267a1672", "url": "https://pretalx.com/euroscipy-2019/speaker/HHHYER/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/Q79NND/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/Q79NND/", "attachments": []}, {"guid": "b5ba1512-1fb4-5fad-ac10-7ed00d53a9b6", "code": "L8LMQR", "id": 1494, "logo": null, "date": "2019-09-02T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1494-create-cuda-kernels-from-python-using-numba-and-cupy", "url": "https://pretalx.com/euroscipy-2019/talk/L8LMQR/", "title": "Create CUDA kernels from Python using Numba and CuPy.", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "We'll explain how to do GPU-Accelerated numerical computing from Python using the Numba Python compiler in combination with the CuPy GPU array library.", "description": "### Abstract \nWe'll explain how to do GPU-Accelerated numerical computing from Python using the Numba Python compiler in combination with the CuPy GPU array library. Numba is an open source compiler that can translate Python functions for execution on the GPU without requiring users to write any C or C++ code. Numba's just-in-time compilation ability makes it easy to interactively experiment with GPU computing in the Jupyter notebook. Combining Numba with CuPy, a nearly complete implementation of the NumPy API for CUDA, creates a high productivity GPU development environment. Learn the basics of using Numba with CuPy, techniques for automatically parallelizing custom Python functions on arrays, and how to create and launch CUDA kernels entirely from Python. Access to appropriate hardware will be provided in the form of access to GPU based cloud resources.\n\n### Libraries\n* https://numba.pydata.org/\n* https://cupy.chainer.org/\n\n### Requirements and set up instructions\n* Cloud based access to GPUs will be provided, please bring a laptop with an operating system and a browser. Chrome is usually fine.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LFHYZA", "name": "Emergency Self-Constuct", "avatar": "https://pretalx.com/media/avatars/LFHYZA_V3jCIDd.webp", "biography": "Valentin is a long-time \"Python for Data\" user and developer who still\nremembers hearing Travis Oliphant's keynote at the EuroScipy 2007. This was\nduring a time where he first became aware of the nascent scientific Python\nstack. He started using Python for simple modeling of spiking neurons and\nevaluation of data from perception experiments during his Masters degree in\ncomputational neuroscience. Since then he has been active as a contributor\nacross more than 75 open source projects. For example, within the Blosc\necosystem where he still maintains and contributes to Python-Blosc and\nBloscpack.  Furthermore, he has acquired significant experience as a Git\ntrainer and consultant and had published the first German language book about\nthe topic in 2011. In 2014 and 2015 he helped kickstart the PyData Berlin\ncommunity alongside a few other volunteers and co-organized the first two\neditions of the PyData Berlin Conference. He now works for Anaconda as a\nsoftware engineer / open source developer on the Numba project.", "public_name": "Emergency Self-Constuct", "guid": "85c4403b-c887-5dc4-a382-50fc3e7ab873", "url": "https://pretalx.com/euroscipy-2019/speaker/LFHYZA/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/L8LMQR/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/L8LMQR/", "attachments": []}, {"guid": "c7d7436e-2c42-5514-b665-7578f1b396a4", "code": "MNAGWC", "id": 1455, "logo": null, "date": "2019-09-02T16:00:00+00:00", "start": "16:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1455-speed-up-your-python-code", "url": "https://pretalx.com/euroscipy-2019/talk/MNAGWC/", "title": "Speed up your python code", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "In this tutorial we will see how to profile and speed up Python code, from a pure Python implementation to an optimized Cython code.", "description": "Through a simple example we will see how to optimize Python code. First we will introduce a few tools to profile and visualize the performances of our code, such as Perf and SnakeViz. Then we will incrementally optimize our code using Cython, a lower level compiled language designed to make a bridge between C and Python. As an alternative, we will also use Numba, a Python just in time compiler. Finally, we will see how to parallelize our code to speed it up further.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WZGMW9", "name": "J\u00e9r\u00e9mie du Boisberranger", "avatar": null, "biography": "I'm a software engineer at INRIA, essentially involved in scikit-learn, an open source Python library for machine learning.", "public_name": "J\u00e9r\u00e9mie du Boisberranger", "guid": "d39f716a-a5ae-506f-beba-f4fc1d0e3df2", "url": "https://pretalx.com/euroscipy-2019/speaker/WZGMW9/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/MNAGWC/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/MNAGWC/", "attachments": []}], "Track4 (Chillida)": [{"guid": "b854cec1-9f1c-5e96-9c97-eb79e17626b9", "code": "DU9CAN", "id": 2696, "logo": null, "date": "2019-09-02T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-2696-3d-image-processing-with-scikit-image", "url": "https://pretalx.com/euroscipy-2019/talk/DU9CAN/", "title": "3D image processing with scikit-image", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This tutorial will introduce how to analyze three dimensional stacked and volumetric images in Python, mainly using scikit-image.", "description": "This tutorial will introduce how to analyze three dimensional stacked and volumetric images in Python, mainly using scikit-image. We start the tutorial checking a brief overview of scikit-image and how it relates to packages in the scientific Python ecosystem, such as NumPy, SciPy and matplotlib. Then, we discuss how to process two and three dimensional data through several steps: first, we will pre-process the data using filtering, binarization and segmentation techniques. After that, we cover how to inspect, count and measure attributes of objects and regions of interest in the data. At the end, we present the visualization of large 3D data. Real-world examples are given from domains such as materials science and biology.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EM8RQM", "name": "Alexandre de Siqueira", "avatar": null, "biography": null, "public_name": "Alexandre de Siqueira", "guid": "2fdfb0fe-2a0f-52a0-9116-1a2878ee011f", "url": "https://pretalx.com/euroscipy-2019/speaker/EM8RQM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/DU9CAN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/DU9CAN/", "attachments": []}, {"guid": "8728b810-d9aa-55ea-af6e-08c80000ebb8", "code": "TQH9FG", "id": 1406, "logo": null, "date": "2019-09-02T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-1406-reproducible-data-science-in-python", "url": "https://pretalx.com/euroscipy-2019/talk/TQH9FG/", "title": "Reproducible Data Science in Python", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "In this tutorial, we will take a detailed look at the concept of _reproducibility_, survey the landscape of existing solutions, and, using one solution in particular, [Renku](https://renkulab.io), we will do some hands-on work.", "description": "The expectation of reproducibility in scientific work has been established for several hundred years, and, increasingly, communities and funding sources are actually demanding it. Within the Python ecosystem, there are now a variety of tools available to support reproducible data science, but choosing and using one is not always straightforward. One source of confusion is simply the number of available options. Beyond that, the term \"reproducibility\" can mean multiple things, making it difficult to compare tools.\n\nIn this tutorial, we will examine _reproducibility_ from the perspective of the philosophy of science. That will give us the concepts and vocabulary necessary to precisely understand and discuss different definitions of the term and allow us to identify the technologies that provide the building blocks for reproducible data science. We will briefly survey the landscape of existing solutions and then spend the remaining time looking at one solution in particular, Renku, which we will use to work end-to-end through a reproducible data-science scenario.\n\n* 0:00 - 0:35 Introduction & Background\n\t* 0:00 - 0:15 Reproducibility, a philosophy of science perspective\n\t\t* Overview of reproducibility issues in different domains of science (Nature 2016 survey results)\n\t\t* Definition of different degrees of reproducibility: _Reproducibility_, _replicability_, and _repeatability_\n\t\t* Examine the function of reproducibility in the scientific process\n\t* 0:15 - 0:25 Building blocks for reproducibility: clean code, workflow automation, version control, containerization, provenance tracking\n\t* 0:25 - 0:35 Survey of the Tool Landscape: Binderhub, Pachyderm, Beaker, Gigantum, Whole Tale, SingularityHub, DVC, Stencila, dotscience, amie, CodeOcean, Renku\n\t\n* 0:35 - 1:30 Hands-on session with Renku where we will develop a typical data-science use-case, focusing on the building blocks of reproducibility along the way. \n\n## Requirements and set up instructions\n\nWe will run the tutorial on https://renkulab.io so please register and create an account following [these instructions](https://github.com/SwissDataScienceCenter/reproducible-data-science/blob/master/README-renkulab.md).\n\nTo follow along with the slides, go [here](https://github.com/SwissDataScienceCenter/reproducible-data-science/blob/euroscipy2019/presentation/index.ipynb)", "recording_license": "", "do_not_record": false, "persons": [{"code": "89TPKE", "name": "Chandrasekhar Ramakrishnan", "avatar": "https://pretalx.com/media/avatars/89TPKE_XoJcP9x.webp", "biography": "Chandrasekhar studied mathematics at the University of California, Berkeley (B.A. 1997) and art and computer science at the University of California, Santa Barbara (M.A. 2003). He has worked as a software developer and consultant for companies, research institutions, and NGOs in the US, Germany, and Switzerland. Since 2009, he has been at ETH Z\u00fcrich supporting projects by developing software solutions for data management, analysis, and visualization. In addition to his work at ETH, he teaches data visualization at Propulsion Academy and, as [Illposed](http://illposed.com) works on artistic projects that incorporate data as a central component.", "public_name": "Chandrasekhar Ramakrishnan", "guid": "7b8c5dc1-d4ec-541c-88e2-522018ac33f6", "url": "https://pretalx.com/euroscipy-2019/speaker/89TPKE/"}, {"code": "UDTFUP", "name": "Rok Ro\u0161kar", "avatar": "https://pretalx.com/media/avatars/UDTFUP_tr2Qg6A.webp", "biography": null, "public_name": "Rok Ro\u0161kar", "guid": "ef3a17d0-d8a5-5443-a7a8-05faa1a338c8", "url": "https://pretalx.com/euroscipy-2019/speaker/UDTFUP/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/TQH9FG/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/TQH9FG/", "attachments": []}, {"guid": "fd2efcf8-3aee-5135-9774-460169a6d3c1", "code": "3MG8K3", "id": 1394, "logo": null, "date": "2019-09-02T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-1394-building-data-pipelines-in-python-airflow-vs-scripts-soup", "url": "https://pretalx.com/euroscipy-2019/talk/3MG8K3/", "title": "Building data pipelines in Python: Airflow vs scripts soup", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "In this workshop, you will learn how to migrate from \u2018scripts soups\u2019 (a set of scripts that should be run in a particular order) to robust, reproducible and easy-to-schedule data pipelines in Airflow.", "description": "## Introduction (5 minutes)\nFormat: presentation\nGo over the agenda\nList the relevant resources\nMake sure everyone has followed the installation instructions\n\n## Intro to data pipelines \nFormat: presentation\nGo over the components of traditional data science pipelines\nPresentation of the scripts soup anttipatern\n\n## Creating a script soup \nFormat: hands-on \nThe attendees will perform an ETL task on some data using a set of independent scripts. \nIn this exercise, I will provide and explain the code and explain what we are trying to achieve with this pseudo-pipeline. The attendees will have a chance to try and reproduce it themselves.\n\n## Introduction to Airflow and DAGS\nFormat: presentation\nIntroduce the concept of DAGs (directed acyclic graphs) \nPresent and introduce the components of Airflow\nAirflow documentation\n\n## Set up a local instance of Airflow \nFormat: hands-on \nThe attendees will create a local instance of Airflow and explore the sample DAGS provided. \nThey will be introduced to the scheduling capabilities of the tool and track the status of the pipelines using the web GUI.\n\n## ETL task on Airflow\nFormat: hands-on \nI will provide hints on how to transform the scripts soup into Airflow DAGS. \nFor this, I will use the pseudo code and other pedagogical approaches inspired by the software carpentry lessons to direct the attendees to the deployment of their first DAG in Airflow. \n\n## Wrap up and questions\nFormat: Q&A\n\n## Setup\n\n<https://opendata-airflow-tutorial.readthedocs.io/en/latest/setup.html>", "recording_license": "", "do_not_record": false, "persons": [{"code": "M9T83C", "name": "Dr. Tania Allard", "avatar": "https://pretalx.com/media/avatars/M9T83C_p3EazfN.webp", "biography": "Tania is a Research Engineer and developer advocate with vast experience in academic research and industrial environments. Her main areas of expertise are within data-intensive applications, scientific computing, and machine learning. One of her main areas of expertise is the improvement of processes, reproducibility and transparency in research, data science and artificial intelligence.  \nOver the last few years, she has trained hundreds of people on scientific computing reproducible workflows and ML models testing, monitoring and scaling and delivered talks on the topic worldwide. \n\nShe is passionate about mentoring, open source, and its community and is involved in a number of initiatives aimed to build more diverse and inclusive communities. She is also a contributor, maintainer, and developer of a number of open source projects and the Founder of Pyladies NorthWest UK.\n\n\nTania has vast experience providing both workshops and talks all over the world, from big conferences such as PyCon to smaller user groups or interest groups. She is interested in both technical talks as well as talks covering community aspects.", "public_name": "Dr. Tania Allard", "guid": "735b3abd-e78e-53b9-b767-ed298b8f8486", "url": "https://pretalx.com/euroscipy-2019/speaker/M9T83C/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/3MG8K3/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/3MG8K3/", "attachments": []}, {"guid": "5712e1a0-f831-5024-806c-a5d5958d7c37", "code": "J3HEDH", "id": 1390, "logo": null, "date": "2019-09-02T16:00:00+00:00", "start": "16:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-1390-performing-quantum-measurements-in-qutip", "url": "https://pretalx.com/euroscipy-2019/talk/J3HEDH/", "title": "Performing Quantum Measurements in QuTiP", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Would you like to create (virtual) qubits and perform measurements on them using Python? Perhaps even explore entanglement and quantum teleportation? If so, this tutorial is for you!\n\nNo previous quantum mechanics experience required!", "description": "Would you like to create (virtual) qubits and perform measurements on them using Python? Perhaps even explore entanglement and quantum teleportation? If so, this tutorial is for you!\n\nNo previous quantum mechanics experience required. It will be helpful to be comfortable with Python and only a little scared of matrix multiplication.\n\nThe goal of the workshop is for each participant to:\n\n  * Understand what a qubit is\n  * Be able to create a 1-qubit state\n  * Be able to measure a 1-qubit state\n  * Be able to create a 2-qubit state\n  * Be able to create an entangled 2-qubit state\n  * Be able to measure part of an entangled state\n  * Be able to teleport part a qubit using an entangled state\n\nTo each of these please add \"in Python with QuTiP\" and \"with a good understanding of what they're doing\".\n\nThe target audience is people who are:\n\n  * interested in quantum mechanics but are not experts\n  * comfortable with Python basics\n  * only a little scared of matrix multiplication (have learnt it at some point, even if they don't remember it well now)", "recording_license": "", "do_not_record": false, "persons": [{"code": "9HF87X", "name": "Simon Cross", "avatar": "https://pretalx.com/media/avatars/9HF87X_RFlWRuV.webp", "biography": "Some potentially relevant facts about me:\n\n* I've lectured mathematics and MATLAB at the University of Cape Town.\n* I've worked in bioinformatics and radio astronomy.\n* I've published some academic papers (and even a couple in vaguely respectable journals!)\n* I have an undergraduate degree in physics and a masters degree in applied mathematics.\n* I accidentally wrote a lot of games in pygame.\n* In 2012 I started PyConZA (PyCon South Africa).\n* I have a Python Community Service award (woot!).\n* I currently lead a small data science team at a financial startup.", "public_name": "Simon Cross", "guid": "06ff1de9-a5b1-5a50-95e7-f863741c06e9", "url": "https://pretalx.com/euroscipy-2019/speaker/9HF87X/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/J3HEDH/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/J3HEDH/", "attachments": []}]}}, {"index": 2, "date": "2019-09-03", "day_start": "2019-09-03T04:00:00+00:00", "day_end": "2019-09-04T03:59:00+00:00", "rooms": {"Track 2 (Baroja)": [{"guid": "da867013-9c9a-56f3-953b-69dcdc0449e8", "code": "RHUPZ3", "id": 2383, "logo": null, "date": "2019-09-03T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2383-a-tour-of-the-data-visualization-ecosystem-of-python", "url": "https://pretalx.com/euroscipy-2019/talk/RHUPZ3/", "title": "A Tour of the Data Visualization Ecosystem of Python", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "The tutorial will be a a tour of the getting-started how-tos of the major Python data visualization  libraries such as Yt-Project, Seaborn, Altair, Plotly", "description": "Python and it ecosystem is used nowadays in many scientific context as an advanced data visualization tool.\nThere a wide variety of  visualization libraries. The tutorial will focus on primarly on :\n\n* [Yt](https://yt-project.org)\n* [Seaborn](https://seaborn.pydata.org)\n* [Altair](https://altair-viz.github.io)\n* [Plotly](https://plot.ly)\n\nFor each one it will be shown how to use it in Jupyter, exploring the getting started examples, and letting the audience propose data set to visualize.\nAt the end of the tutorial, the participants will fill a pros/cons table with an online voting mechanism.\nIf time will allow, a short view of other libraries may be included.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EUT7ME", "name": "Giovanni De Gasperis", "avatar": null, "biography": "Assistant Professor of Computer Systems and Cognitive Robotics\n\nPython user since 2001. Core developer of Python3.7-based TaLTaC italian tool for text mining", "public_name": "Giovanni De Gasperis", "guid": "5f6ffd3e-c9d2-5fec-8931-36614e261011", "url": "https://pretalx.com/euroscipy-2019/speaker/EUT7ME/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/RHUPZ3/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/RHUPZ3/", "attachments": []}, {"guid": "7484a98e-c3d7-5862-824f-11abe9177ff6", "code": "WSNPK7", "id": 2615, "logo": null, "date": "2019-09-03T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2615-introduction-to-scipy", "url": "https://pretalx.com/euroscipy-2019/talk/WSNPK7/", "title": "Introduction to SciPy", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "SciPy is a comprehensive library for scientific computing and one of the central components of the scientific Python ecosystem. As most of its functionality naturally involves NumPy arrays, SciPy works hand in hand with NumPy.", "description": "SciPy covers a broad variety of typical numerical tasks encountered in scientific computing ranging from the statistical analysis of data, curve fitting, and fast Fourier transform to numerical integration and special functions to name just a few topics. To avoid reinventing the wheel, it is always a good idea to check whether a desired functionality is already provided by SciPy.\n\nIn the main part of the tutorial, we will demonstrate how some real-world data taken with a smartphone can be analyzed by means of SciPy.\n\n#### Installation instructions\nThe tutorial requires the following packages on top of a Python 3 installation: \n\n* numpy\n* scipy\n* matplotlib\n* jupyter\n\nAny recent version of the [Anaconda distribution](https://anaconda.org) should allow to run the Jupyter notebooks used in this tutorial (see below) just fine. If you do not have the Anaconda distribution installed and are not short of disk space and want to do scientific work with Python, seriously consider installing it. It is free and pretty straightforward to install.\n\nAlternatively, you can install miniconda and build a specific environment `euroscipy-scipy-tutorial` for the tutorial by running\n\n```\nconda env create -f environment.yml\n```\n\nwith the `environment.yml` file provided in the [repository of this tutorial](https://github.com/gertingold/euroscipy-scipy-tutorial).  For more detailed instruction on how to create a conda environment, see the [conda documentation](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html). Note that you need to activate the environment by means of\n\n```\nconda activate euroscipy-scipy-tutorial\n```\n\nFinally, it nothing else works, the notebooks can also be run on [binder](https://mybinder.org/v2/gh/gertingold/euroscipy-scipy-tutorial/master?filepath=notebooks) (provided wifi is available during the tutorial session).\n\n#### Get the tutorial notebooks\n\nUnless you are using binder, you will need the notebooks of the tutorial to actively follow along.\n\nYou can either clone the repository [gertingold/euroscipy-scipy-tutorial](https://github.com/gertingold/euroscipy-scipy-tutorial) or go to https://github.com/gertingold/euroscipy-scipy-tutorial/archive/master.zip to download a zipped version of the repository. All files needed during the tutorial are located in the directory `notebooks`.", "recording_license": "", "do_not_record": false, "persons": [{"code": "978CAZ", "name": "Gert-Ludwig Ingold", "avatar": "https://pretalx.com/media/avatars/978CAZ_rxcUbh9.webp", "biography": "Professor for theoretical physics", "public_name": "Gert-Ludwig Ingold", "guid": "7b090bba-bb47-5646-881a-5e3bdb2b3ee2", "url": "https://pretalx.com/euroscipy-2019/speaker/978CAZ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/WSNPK7/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/WSNPK7/", "attachments": []}, {"guid": "7e1c28fd-ffe0-5090-a635-bc0ee0593089", "code": "XXJGGG", "id": 1407, "logo": null, "date": "2019-09-03T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1407-introduction-to-scikit-learn-from-model-fitting-to-model-interpretation", "url": "https://pretalx.com/euroscipy-2019/talk/XXJGGG/", "title": "Introduction to scikit-learn: from model fitting to model interpretation", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "We will present scikit-learn by focusing on the available tools used to train a machine-learning model. Then, we will focus on the challenge linked to model interpretation and the available tools to understand these models.", "description": "Our introduction to scikit-learn will be subdivided into 2 parts.\n\nWe will give a general introduction to scikit-learn presenting basic concepts around cross-validation, pipeline estimator, and hyperparameter search.\n\nThen, we will focus on model interpretation presenting the challenges and the available tools to understand a trained machine-learning model: partial independence plot, features importance, LIME, shapley values, etc.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KMDJAL", "name": "Guillaume Lemaitre", "avatar": "https://pretalx.com/media/avatars/KMDJAL_DPeMBoG.webp", "biography": "I am an engineer working for the scikit-learn foundation @ Inria.", "public_name": "Guillaume Lemaitre", "guid": "41faba07-5db9-5480-8bd8-f8de3b4d4146", "url": "https://pretalx.com/euroscipy-2019/speaker/KMDJAL/"}, {"code": "NEUMLP", "name": "Olivier Grisel", "avatar": "https://pretalx.com/media/avatars/NEUMLP_RirLVrG.webp", "biography": "Olivier is a Software Engineer at Inria working on scikit-learn and related projects of the Python Data ecosystem.", "public_name": "Olivier Grisel", "guid": "20888933-e3d6-5580-8ff2-1b072174f0f2", "url": "https://pretalx.com/euroscipy-2019/speaker/NEUMLP/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/XXJGGG/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/XXJGGG/", "attachments": []}], "Track 3 (Oteiza)": [{"guid": "8789956b-565d-5465-b125-d9e6d17c3c70", "code": "ZHQALW", "id": 1803, "logo": null, "date": "2019-09-03T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1803-sufficiently-advanced-testing-with-hypothesis", "url": "https://pretalx.com/euroscipy-2019/talk/ZHQALW/", "title": "Sufficiently Advanced Testing with Hypothesis", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Testing research code can be difficult, but is essential for robust results.  Using Hypothesis, a tool for property-based testing, I'll show how testing can be both easier and dramatically more powerful - even for complex \"black box\" codes.", "description": "Hypothesis is a testing package that will search for counterexamples to your\nassertions \u2013 so you can write tests that provide a high-level description of your\ncode or system, and let the computer attempt a Popperian falsification. If it\nfails, your code is (probably) OK\u2026 and if it succeeds you have a minimal input\nto debug.\n\nCome along and learn the principles of property-based testing, how to use\nHypothesis, and how to use it to check scientific code \u2013 whether highly-polished\nor quick-and-dirty!\n\nYou can even use it to test 'black boxes', such as simulations, where we have no\nway of independently verifying that some input leads to the right output!\nIntrigued?  Come and learn about the power of embedding assertions in your\ncode, and metamorphic relations in your tests!", "recording_license": "", "do_not_record": false, "persons": [{"code": "LFU8AS", "name": "Zac Hatfield-Dodds", "avatar": "https://pretalx.com/media/avatars/LFU8AS_oqlC8Gf.webp", "biography": "Zac is a researcher at the Australian National University\u2019s 3A Institute, which is building a new applied science to 'manage the machines' - AI, cyber-physical systems, and other new technologies.\n\nHe started using Python to analyse huge environmental datasets, and contributing to libraries like Xarray to make such analysis easier for all scientists.  Now, as a maintainer of Hypothesis, Pytest, and Trio, Zac is still passionate about making it easy to write software you can understand and rely on.\n\nWhen not at a computer he can usually be found surrounded by books of all kinds, the Australian bush, or both.", "public_name": "Zac Hatfield-Dodds", "guid": "bf216ade-112e-5216-ac05-8d6827f58cb3", "url": "https://pretalx.com/euroscipy-2019/speaker/LFU8AS/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/ZHQALW/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/ZHQALW/", "attachments": []}, {"guid": "425307d7-76c0-53ce-a408-984b7f02d254", "code": "M3RZXE", "id": 1823, "logo": null, "date": "2019-09-03T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1823-effectively-using-matplotlib", "url": "https://pretalx.com/euroscipy-2019/talk/M3RZXE/", "title": "Effectively using matplotlib", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "It can sometimes be difficult and frustrating to know how to achieve a desired plot. \u2013 Have you made this experience as well? Then this tutorial is for you. It will make you more effective and help you generate better looking plots.", "description": "Matplotlib is one of the most-used and powerful visualization libraries for python. Nevertheless,  there has been and still is some confusion on how use it properly. This has a number of reasons ranging from an evolution of the API and lack of good documentation to the complexity that comes with the large feature set and flexibility. But these issues can be overcome.\n\nThis tutorial will explain the main concepts and intended usage patterns of matplotlib. Knowing these, lets you effectively use high-level functions for most of the cases. But you will be able to go into the details if you need to fine-tune certain aspects of the plot. We'll also touch some nowadays discouraged ways of working from the past (you should know what not to do - even though that's still found in lots of examples on the web) and we may get a glimpse into the future.\n\nTim Hoffmann joined the matplotlib core development team almost two years ago with the mission to make matplotlib easier to use.\n\n*Requirements and set up instructions:*\nJupyter plus any recent (>=3.0) matplotlib version will do. To be on the safe side, you may set up a new conda environment using `conda create -n using-mpl matplotlib>=3 jupyterlab pandas ipympl`.\nLink to tutorial notebook will be posted here soon.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YWW9JH", "name": "Tim Hoffmann", "avatar": null, "biography": "Tim Hoffmann has been involved in several open source projects over time. Almost two years ago, he joined the matplotlib core development team with the mission to make matplotlib easier to use.", "public_name": "Tim Hoffmann", "guid": "78026814-f50c-58f6-8e8b-1bd892bda4f0", "url": "https://pretalx.com/euroscipy-2019/speaker/YWW9JH/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/M3RZXE/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/M3RZXE/", "attachments": []}, {"guid": "9ed4ab2a-0ac0-5009-875b-209ba96e06f2", "code": "NQMWSX", "id": 1161, "logo": null, "date": "2019-09-03T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1161-cffi-ctypes-cython-cppyy-how-to-run-c-code-from-python", "url": "https://pretalx.com/euroscipy-2019/talk/NQMWSX/", "title": "CFFI, Ctypes, Cython, Cppyy: how to run C code from Python", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Python is flexible, C and C++ are fast. How to use them together? There are many ways to call C code from Python, we will learn about the major ones, find out when you would prefer to use one over the other.", "description": "Using the Jupyter notebook and a compiler, we will start with a pure python implementation of a mandlebrot image. Then we will write the computationally heavy part of the code in C, and learn how to call it from Ctypes (part of the Python standard library), CFFI (a newer and better Ctypes alternative), Cython (a compiler from Python to C), and CPPYY (like Ctypes and CFFI, but for C++).\n\nAlong the way we will stop to reflect on the advantages and disadvantages of each technique in terms of speed of development, runtime overhead, maintainability, and readability.\n\n\n\nThe participants will come away with an understanding of the tools, their strengths and weaknesses, and how to use them.\n\nPlease be sure you have a computer with anaconda python installed and a compiler (for windows users - Visual Studio 2019 is recommended. Others should have a functioniong gcc or clang). You should also download the [git repo](https://github.com/mattip/c_from_python) and be sure you can run the first few cells that involve compilation (before the `ctypes` discussion). Also please be sure to preinstall [`cppyy`](https://pypi.org/project/cppyy/).", "recording_license": "", "do_not_record": false, "persons": [{"code": "UZVQTV", "name": "Matti Picus", "avatar": null, "biography": "Matti is a core developer of [PyPy](https://www.pypy.org), contributing to the internal numpy implementation _micronumpy and to the layer that allows python c-extension modules to run on the PyPy python interpreter. He has been active in the open source community both as a contributor, teacher, and presenter at conferences. Since April 2018, he works full-time developing [NumPy](http://www.numpy.org/), employed by [BIDS](https://bids.berkeley.edu/people/matti-picus)", "public_name": "Matti Picus", "guid": "ccadd170-5fb4-5dc1-be28-58acebb75b38", "url": "https://pretalx.com/euroscipy-2019/speaker/UZVQTV/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/NQMWSX/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/NQMWSX/", "attachments": []}, {"guid": "a479fe08-5466-59b2-938f-c77446ecd625", "code": "HVEBGU", "id": 1447, "logo": null, "date": "2019-09-03T16:00:00+00:00", "start": "16:00", "duration": "01:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1447-kcsd-a-python-package-for-reconstruction-of-brain-activity", "url": "https://pretalx.com/euroscipy-2019/talk/HVEBGU/", "title": "kCSD - a Python package for reconstruction of brain activity", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "_kCSD_ is a Python package for localization of sources of brain electric activity based on recorded electric potentials.", "description": "Electric potential measured in the brain is generated by transmembrane ionic currents of neural cells.  Due to the long range of electric field simultaneously recorded extracellular potential - EEG, local field potential (LFP) - at different places are typically strongly correlated which complicates their analysis.  It is thus useful to reconstruct their current sources which in practice means solving Poisson equation.  The first method for estimation of _Current Source Density_ (CSD) from measured potentials was proposed in the early 1950s (1).  Despite some developments, a number of limitations were present until recently, in particular, most previous methods required recordings with regular grids of electrodes and overfitted to noise.\n\nThe _kernel Current Source Density_ method (kCSD) developed in 2012 (2) uses kernel methods to estimate the potential and CSD in the whole space, from arbitrary distribution of electrodes using regularization to minimize the influence of noise on reconstruction.  In this tutorial we will demonstrate kCSD-python package (3) which allows reconstruction of CSD in different dimensions.\n\nAfter this tutorial you will be able to:\n* estimate the distribution of current sources based on the exact values of the electric field potentials,\n* deal with measurement noise,\n* diagnose the quality of the obtained reconstruction.\n\n# Requirements:\n* Python 2.7/3.4+ environment (Anaconda with Jupyter Notebook recommended),\n* numpy, scipy, matplotlib packages installed,\n* kcsd package installed or possibility to download it from GitHub (4) (network connection etc.).\n\n\n# Authors\n\n* Chaitanya Chintaluri,\n* Marta Kowalska,\n* Micha\u0142 Czerwi\u0144ski,\n* W\u0142adys\u0142aw \u015aredniawa,\n* Joanna J\u0119drzejewska-Szmek,\n* Daniel K. W\u00f3jcik\n\n# Bibliography\n\n1. Pitts, W. H. (1952), _Investigations on synaptic transmission_, in 'Cybernetics, Trans. 9th Conf. Josiah Macy Foundation H. von Foerster', pp. 159-166.\n2. Potworowski, J., Jakuczun, W., \u0141\u0119ski, S. & W\u00f3jcik, D. (2012) _Kernel current source density method_. Neural Comput 24(2), 541-575.\n3. _Kernel Current Source Density_ <https://github.com/Neuroinflab/kCSD-python>\n\n# Acknowledgement\n\nProject funded from the Polish National Science Centre's SYMFONIA (2013/08/W/NZ4/00691) and OPUS (2015/17/B/ST7/04123) grants.", "recording_license": "", "do_not_record": false, "persons": [{"code": "APW3XT", "name": "Marta Kowalska", "avatar": "https://pretalx.com/media/avatars/APW3XT_QI2iHnY.webp", "biography": "I am a PhD student at the Laboratory of Neuroinformatics at Nencki Institute of Experimental Biology. I work with methods for current source density reconstruction in a brain tissue.", "public_name": "Marta Kowalska", "guid": "ad99911d-8106-540d-a8cc-26f8849b3313", "url": "https://pretalx.com/euroscipy-2019/speaker/APW3XT/"}, {"code": "3XH3MM", "name": "Jakub M. Dzik", "avatar": "https://pretalx.com/media/avatars/3XH3MM_J97b3N2.webp", "biography": "Since 2011 I am a Scientific Programmer in Laboratory of Neuroinformatics (Nencki Institute).\n\n#Education\n\n* MSc in Computer Science (2011; University of Wroclaw)\n* PhD in Neuroinformatics (2019; Nancki Institute)", "public_name": "Jakub M. Dzik", "guid": "8e7accb2-af4f-524c-a657-73dba254858a", "url": "https://pretalx.com/euroscipy-2019/speaker/3XH3MM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/HVEBGU/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/HVEBGU/", "attachments": []}], "Track4 (Chillida)": [{"guid": "f9b887dc-d518-51ee-89be-ccb4f2ae51c1", "code": "YKPNEE", "id": 1433, "logo": null, "date": "2019-09-03T09:00:00+00:00", "start": "09:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-1433-introduction-to-geospatial-data-analysis-with-geopandas-and-the-pydata-stack", "url": "https://pretalx.com/euroscipy-2019/talk/YKPNEE/", "title": "Introduction to geospatial data analysis with GeoPandas and the PyData stack", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This tutorial is an introduction to geospatial data analysis, with a focus on tabular vector data using GeoPandas. It will show how GeoPandas and related libraries can improve your GIS workflow and fit nicely in the traditional PyData stack.", "description": "This tutorial is an introduction to geospatial data analysis in Python, with a focus on tabular vector data using GeoPandas. The content focuses on introducing the participants to the different libraries to work with geospatial data and will cover munging geo-data and exploring relations over space. This includes importing data in different formats (e.g. shapefile, GeoJSON), visualizing, combining and tidying them up for analysis, and will use libraries such as pandas, geopandas, shapely, pyproj, matplotlib, cartopy, ... The tutorial will cover the following topics, each of them using Jupyter notebooks and hands-on exercises with real-world data:\n\n    1. Introduction to vector data and GeoPandas\n    2. Visualizing geospatial data\n    3. Spatial relationships and operations\n    4. Spatial joins and overlays\n\nMaterials of previous versions of this tutorial: https://github.com/jorisvandenbossche/geopandas-tutorial", "recording_license": "", "do_not_record": false, "persons": [{"code": "7VUXWM", "name": "Joris Van den Bossche", "avatar": "https://pretalx.com/media/avatars/7VUXWM_nRBADDN.webp", "biography": "I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, worked at the Paris-Saclay Center for Data Science, and, currently I am a freelance software developer and teacher.", "public_name": "Joris Van den Bossche", "guid": "1f18915a-a2f7-51e7-96cf-82152ec96930", "url": "https://pretalx.com/euroscipy-2019/speaker/7VUXWM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/YKPNEE/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/YKPNEE/", "attachments": []}, {"guid": "c7953afc-db52-5e30-b7a9-000e2d060392", "code": "SMLGVL", "id": 2667, "logo": null, "date": "2019-09-03T11:00:00+00:00", "start": "11:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-2667-astronomical-image-processing", "url": "https://pretalx.com/euroscipy-2019/talk/SMLGVL/", "title": "Astronomical Image Processing", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This tutorial will introduce the concept of *sparsity* and demonstrate how it can be used to remove noise from signals. These concepts will then be expanded to demonstrate how noise can be removed from astronomical images in particular.", "description": "### Programme\n\n- The tutorial will begin with short introduction to the basic premise of sparsity and highlight some problems in astronomical image processing that can be solved using this methodology.  (~15-20min; slides)\n- Tutees will then follow a hands-on demonstration of how the concept of sparsity can be used to denoise signals. (~30-35min; interactive jupyter notebook with exercises)\n- Finally the tutees will learn how to denoise an astronomical image and use their newfound skills to recover a nice picture of Saturn. (~35-40min; interactive jupyter notebook with  an exercise)\n\n### Requirements\n\n- The tutorial contents are available on [GitHub](https://github.com/sfarrens/euroscipy).\n- Provided tutees have a stable internet connection, the entire tutorial can be run online using [Binder](https://mybinder.org/v2/gh/sfarrens/euroscipy/master).\n- However, to be safe, tutees should download and install the tutorial materials beforehand.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VFV3HW", "name": "Samuel FARRENS", "avatar": "https://pretalx.com/media/avatars/VFV3HW_CvCMxFk.webp", "biography": null, "public_name": "Samuel FARRENS", "guid": "b4498a4c-f8cb-5069-aa4a-ee673a98e94e", "url": "https://pretalx.com/euroscipy-2019/speaker/VFV3HW/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/SMLGVL/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/SMLGVL/", "attachments": []}, {"guid": "50a9bb38-12ad-55c9-8c58-f2f3aaa1c280", "code": "CQCKY9", "id": 1295, "logo": null, "date": "2019-09-03T14:00:00+00:00", "start": "14:00", "duration": "01:30", "room": "Track4 (Chillida)", "slug": "euroscipy-2019-1295-parallelizing-python-applications-with-pycompss", "url": "https://pretalx.com/euroscipy-2019/talk/CQCKY9/", "title": "Parallelizing Python applications with PyCOMPSs", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "PyCOMPSs is a task-based programming model that enables the parallel execution of Python scripts by annotating methods with task decorators. At run time, it identifies tasks' data-dependencies, schedules and executes them in distributed environments.", "description": "## PyCOMPSs!\n\nCOMPSs is a **task-based programming model that aims to ease the development of parallel applications and their execution in distributed computing environments**, which provides a binding for Python (aka **PyCOMPSs**). It is based on sequential programming, which helps application developers on parallelization and distribution efforts (e.g. thread/process creation, synchronization, data movements, etc.). Application developers simply need to identify which methods will be considered tasks, and the runtime exploits the inherent parallelism of the application at execution time by detecting the task calls and the data dependencies among them. To this end, the runtime is able to spawn the tasks asynchronously on the available resources and orchestrate their data transfers guaranteeing the validity of the execution.\n\nPyCOMPSs relies on the usage of decorators for task selection and a tiny API for synchronization. Moreover, it has also integration with Jupyter notebooks, and provides a wide range of supported features, such as task constraint definition, multiple implementations (so that the runtime can choose the most appropriate considering the available resources), and binary tasks (e.g. binary, MPI and OmpSs) among others.\n\nIn addition, PyCOMPSs' runtime enables to run the applications on top of different infrastructures (such as multi-core machines, clusters, grids, clouds or containers) without modifying a single line of the application. It also provides fault-tolerant mechanisms, a live monitoring tool, it is able to generate post-mortem performance traces using Extrae that can be later analyzed with Paraver, and it is extendible through pluggable connectors (e.g. clouds and schedulers).\n\nThis rich number of features enables the quick and easy parallelization of Python code, its execution in distributed environments and performance analysis, with current success in scientific fields like numeric algorithms, AI, life and earth sciences.\n\nThis tutorial has as main objective to instruct **how to program and decorate Python applications using PyCOMPSs** in order to enable them **to run in parallel**.\nMore in detail, the tutorial objectives are:\n\n* To give an overview of PyCOMPSs task-based programming model syntax.\n* To demonstrate how to use PyCOMPSs to parallelize and run applications in distributed platforms.\n* To illustrate how sample benchmarks from linear algebra and big data can benefit of PyCOMPSs as a programming model. Also, from real use cases from AI, Life and Earth sciences.\n* To give practical insight of how to use PyCOMPSs programming model with the Jupyter notebook.\n* To give an overview of the PyCOMPSs runtime and how it interacts with clusters, clusters of docker containers and clouds.\n\n**The attendees will benefit by learning how to parallelize their Python application with PyCOMPSs with a simple interface, run them in distributed parallel platforms, the integration with Jupyter notebooks, and how to analyze the execution behaviour.**\n\n#### Requirements and setup instructions\n\nThis tutorial can be followed using a virtual machine or using a docker container. Attendees can choose the best option considering their system.\n\n- Using Virtual Appliance:\n    - Install VirtualBox\n    - Download and import the COMPSs 2.5 VM image from http://compss.bsc.es (Downloads section)\n    - Import the VM image\n    - Start the VM image (user: compss password: compss19)\n    - Update the tutorial apps folder: rm -rf tutorial_apps && git clone https://github.com/bsc-wdc/tutorial_apps.git\n\n\n- Using Docker:\n    - Install docker\n    - git clone https://github.com/bsc-wdc/tutorial_apps.git\n    - docker pull compss/compss-tutorial:patc2019\n    - docker run --name mycompss -p 8888:8888 -p 8080:8080 -v /path/to/tutorial_apps:/home/tutorial_apps -itd compss/compss-tutorial:patc2019", "recording_license": "", "do_not_record": false, "persons": [{"code": "U3JBJX", "name": "Javier Conejero", "avatar": "https://pretalx.com/media/avatars/U3JBJX_ZDDokbp.webp", "biography": "Javier Conejero is a Senior Researcher at the Barcelona Supercomputing Center. He holds a PhD on\nAdvanced Computer Technologies (2014) from the University of Castilla-La Mancha (UCLM), Spain.\nDuring his PhD, he was awarded by the Ministry of Economy and Competitiveness (MINECO) of the\nSpanish Government with a FPI fellowship grant. Previously, he worked at CERN for one year\n(2009) into WLCG software development and management. Since 2015, he is a Senior Researcher\nof the Workflows and Distributed Computing research group at the Barcelona Supercomputing\nCenter (BSC). He is leading the efforts on the PyCOMPSs binding at BSC. In 2016 he was awarded\nby the MINECO with the Juan de la Cierva grant.\n\nJavier lectured and ran practical exercises on PyCOMPSs development within the PATC:\nProgramming Distributed Computing Platforms with COMPSs tutorial annually since 2016. He has\nalso participated in PyCOMPSs tutorials in various conferences and workshops: EuroPython 2017,\nCCGrid 2017, EuroPar2017 and SIAM 2018.", "public_name": "Javier Conejero", "guid": "7698976b-dffa-56bb-8b50-25c68d2c6ee3", "url": "https://pretalx.com/euroscipy-2019/speaker/U3JBJX/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/CQCKY9/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/CQCKY9/", "attachments": []}]}}, {"index": 3, "date": "2019-09-04", "day_start": "2019-09-04T04:00:00+00:00", "day_end": "2019-09-05T03:59:00+00:00", "rooms": {"Track 1 (Mitxelena)": [{"guid": "48a02219-1f7f-51f0-b49f-e863a84a1822", "code": "H8VPAY", "id": 2637, "logo": null, "date": "2019-09-04T10:15:00+00:00", "start": "10:15", "duration": "00:45", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2637-from-galaxies-to-brains-image-processing-with-python", "url": "https://pretalx.com/euroscipy-2019/talk/H8VPAY/", "title": "From Galaxies to Brains! - Image processing with Python", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "From the smallest microscopic objects to the largest scales of the Universe, our ability to study the world around us is predicated on the quality of the data we have access to.", "description": "From the smallest microscopic objects to the largest scales of the Universe, our ability to study the world around us is predicated on the quality of the data we have access to. In other words, cleaner and higher resolution images will provide us with more detailed and accurate information. Obtaining the necessary image quality, however, is extremely difficult, particularly as we push instruments to their limits and have to deal with larger and larger amounts of data. In this talk I will introduce some of the current challenges in the realms of astrophysical and biomedical imaging. I will then present some interesting new ideas for tackling these problems and how Python facilitates their implementation.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VFV3HW", "name": "Samuel FARRENS", "avatar": "https://pretalx.com/media/avatars/VFV3HW_CvCMxFk.webp", "biography": null, "public_name": "Samuel FARRENS", "guid": "b4498a4c-f8cb-5069-aa4a-ee673a98e94e", "url": "https://pretalx.com/euroscipy-2019/speaker/VFV3HW/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/H8VPAY/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/H8VPAY/", "attachments": []}, {"guid": "4d3e73ed-a74b-515f-bebd-d25ac522ebe9", "code": "9DPFGM", "id": 1405, "logo": null, "date": "2019-09-04T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1405-distributed-gpu-computing-with-dask", "url": "https://pretalx.com/euroscipy-2019/talk/9DPFGM/", "title": "Distributed GPU Computing with Dask", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Dask has evolved over the last year to leverage multi-GPU computing alongside its existing CPU support. We present how this is possible with the use of NumPy-like libraries and how to get started writing distributed GPU software.", "description": "The need for speed remains important for scientific computing. Historically, computers were limited to few dozens of processors, but with modern GPUs, we can have thousands, or even millions of cores running in parallel on distributed systems.\n\nHowever, developing software for distributed GPU systems can be difficult, both because writing GPU code can be challenging for non-experts, and because distributed systems are inherently complex. We can work to address these challenges by using GPU-enabled libraries that mimic parts of the SciPy ecosystem, such as CuPy, RAPIDS, and Numba, abstracting GPU programming complexity, combined with Dask to abstract distributed computing complexity.\n\nWe talk about how Dask has come a long way to support distributed GPU-enabled systems by leveraging community standards and protocols, reusing open source libraries for GPU computing, and keeping it simple and complication-free to build highly-configurable accelerated distributed software.", "recording_license": "", "do_not_record": false, "persons": [{"code": "N9CZU7", "name": "Peter Andreas Entschev", "avatar": "https://pretalx.com/media/avatars/N9CZU7_pX9NJIx.webp", "biography": "Peter Andreas Entschev is a senior system software engineer in the AI Infrastructure group at NVIDIA, where he works on the RAPIDS stack, building GPU-enabled distributed software. Before NVIDIA, he worked on real-time computer vision systems for various applications. He holds an MSc in electrical engineering and applied computer science from the Federal University of Technology - Paran\u00e1, Brazil.", "public_name": "Peter Andreas Entschev", "guid": "99202c2f-0b97-525a-9dac-9379afebf6b7", "url": "https://pretalx.com/euroscipy-2019/speaker/N9CZU7/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/9DPFGM/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/9DPFGM/", "attachments": []}, {"guid": "4fa0bca8-5f31-5c38-865c-5e15b6fd9865", "code": "YRJNR8", "id": 1440, "logo": null, "date": "2019-09-04T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1440-modern-data-science-a-new-approach-to-dataframes-and-pipelines", "url": "https://pretalx.com/euroscipy-2019/talk/YRJNR8/", "title": "Modern Data Science: A new approach to DataFrames and pipelines", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "We will demonstrate how to explore and analyse massive datasets (>150GB) on a laptop with the Vaex library in Python. Using computational graphs, efficient algorithms and storage (Apache Arrow / hdf5) Vaex can easily handle up to a billion rows.", "description": "Working with datasets comprising millions or billions of samples is an increasingly common task, one that is typically tackled with distributed computing. Nodes in high-performance computing clusters have enough RAM to run intensive and well-tested data analysis workflows. More often than not, however, this is preceded by the scientific process of cleaning, filtering, grouping, and other transformations of the data, through continuous visualizations and correlation analysis. In today\u2019s work environments, many data scientists prefer to do this on their laptops or workstations, as to more effectively use their time and not to rely on spotty internet connection to access their remote data and computation resources. Modern laptops have sufficiently fast I/O SSD storage, but upgrading RAM is expensive or impossible. \n\nApplying the combined benefits of computational graphs, which are common in neural network libraries, with delayed (a.k.a lazy) evaluations to a DataFrame library enables efficient memory and CPU usage. Together with memory-mapped storage (Apache Arrow, hdf5) and out-of-core algorithms, we can process considerably larger data sets with fewer resources. As an added bonus, the computational graphs \u2018remember\u2019 all operations applied to a DataFrame, meaning that data processing pipelines can be generated automatically.\n\nIn this talk, we will demonstrate Vaex, an open-source DataFrame library that embodies these concepts. Using data from the New York City YellowCab taxi service comprising 1.1 billion samples and taking up over 170 GB on disk, we will showcase how one can conduct an exploratory data analysis, complete with filtering, grouping, calculations of statistics and interactive visualisations on a single laptop in real time. Finally we will show an example of how one can automatically build a machine learning pipeline as a by-product of the exploratory data analysis using the computational graphs in Vaex.", "recording_license": "", "do_not_record": false, "persons": [{"code": "FTP8ZM", "name": "Jovan Veljanoski", "avatar": "https://pretalx.com/media/avatars/FTP8ZM_cuYb9i9.webp", "biography": "Jovan is a senior data scientists & researcher at XebiaLabs, where he creates predictive models related to DevOps pipelines. Working mostly with Python in the Jupyter ecosystem, he has considerable experience in clustering analysis and predictive modeling. Jovan has a PhD in Astrophysics, is a co-founder of vaex.io, and is interested in novel machine learning technologies and applications.", "public_name": "Jovan Veljanoski", "guid": "059e16b1-34fd-5c77-8a9a-a75e456354c5", "url": "https://pretalx.com/euroscipy-2019/speaker/FTP8ZM/"}, {"code": "38EYUA", "name": "Maarten Breddels", "avatar": "https://pretalx.com/media/avatars/38EYUA_GCSIkAo.webp", "biography": "Maarten Breddels is an entrepreneur and freelance developer/consultant/data scientist working mostly with Python, C++ and Javascript in the Jupyter ecosystem. Creator of ipyvolume and vaex, founder of vaex.io. His expertise ranges from fast numerical computation, API design, to 3d visualization. He has a Bachelor in ICT, a Master and PhD in Astronomy, likes to code and solve problems.", "public_name": "Maarten Breddels", "guid": "f04edad1-08aa-56f2-b189-a7e85b0209b1", "url": "https://pretalx.com/euroscipy-2019/speaker/38EYUA/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/YRJNR8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/YRJNR8/", "attachments": []}, {"guid": "c22db99f-e698-5d02-93c1-210bb39bd635", "code": "KZGLXR", "id": 1443, "logo": null, "date": "2019-09-04T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1443-apache-arrow-a-cross-language-development-platform-for-in-memory-data", "url": "https://pretalx.com/euroscipy-2019/talk/KZGLXR/", "title": "Apache Arrow: a cross-language development platform for in-memory data", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Apache Arrow, defining a columnar, in-memory data format standard and communication protocols, provides a cross-language development platform with already several applications in the PyData ecosystem.", "description": "This talk discusses Apache Arrow project and how it already interacts with the Python ecosystem.\n\nThe Apache Arrow project specifies a standardized language-independent columnar memory format for flat and nested data, organized for efficient analytic operations on modern hardware. On top of that standard, it provides computational libraries and zero-copy streaming messaging and interprocess communication protocols, and as such, it provides a cross-language development platform for in-memory data. It has support for many languages, including C, C++, Java, JavaScript, MATLAB, Python, R, Rust, ..\n\nThe Apache Arrow project, although still in active development, has already several applications in the Python ecosystem. For example, it provides the IO functionality for pandas to read the Parquet format (a columnar, binary file format used a lot in the Hadoop ecosystem). Thanks to the standard memory format, it can help improve interoperability between systems, and this is already seen in practice for the Spark / Python interface, by increasing the performance of PySpark. Further, it has the potential to provide a more performant string data type and nested data types (like dicts or lists) for Pandas dataframes, which is already being experimented with in the fletcher package (using the pandas ExtensionArray interface).", "recording_license": "", "do_not_record": false, "persons": [{"code": "7VUXWM", "name": "Joris Van den Bossche", "avatar": "https://pretalx.com/media/avatars/7VUXWM_nRBADDN.webp", "biography": "I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, worked at the Paris-Saclay Center for Data Science, and, currently I am a freelance software developer and teacher.", "public_name": "Joris Van den Bossche", "guid": "1f18915a-a2f7-51e7-96cf-82152ec96930", "url": "https://pretalx.com/euroscipy-2019/speaker/7VUXWM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/KZGLXR/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/KZGLXR/", "attachments": []}, {"guid": "31e9ceff-6dd1-5823-a95e-864c618a8f2c", "code": "BLPA7N", "id": 1412, "logo": null, "date": "2019-09-04T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1412-caterva-a-compressed-and-multidimensional-container-for-big-data", "url": "https://pretalx.com/euroscipy-2019/talk/BLPA7N/", "title": "Caterva: A Compressed And Multidimensional Container For Big Data", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Caterva is a library on top of the Blosc2 compressor that implements a simple multidimensional container for compressed binary data. It adds the capability to store, extract, and transform data in these containers, either in-memory or on-disk.", "description": "# Caterva: A Compressed And Multidimensional Container For Big Data\n\n[Caterva](https://github.com/Blosc/Caterva) is a C library on top of [C-Blosc2](https://github.com/Blosc/c-blosc2) that implements a simple multidimensional container for compressed binary data. It adds the capability to store, extract, and transform data in these containers, either in-memory or on-disk.\n\nWhile there are several existing solutions for this scenario (HDF5 is one of the most known), Caterva brings novel features that, when taken toghether, set it appart from them:\n\n* __Leverage important features of C-Blosc2__.  C-Blosc2 is the next generation of the well-know, high performance C-Blosc compression library (see below for a more in-depth description). \n\n* __Fast and seamless interface with the compression engine__.  While in other solutions compression seems an after-thought and can implies several copies of buffers internally, the interface of Caterva and C-Blosc2 (its internal compression engine) is meant to be as direct as possible minimizing copies and hence, increasing performance.\n\n* __Both in-memory and on-disk paradigms are supported the same way__.  This allows for using the same API for data that can be either in-memory or on-disk.\n\n* __Support for a plain buffer data layout__.  This allows for essentially no-copy data sharing among existing libraries (NumPy), allowing to use existing functionality to be used directly in Caterva without loosing performance.  \n\nAlong this features, there is an important 'mis-feature': Caterva is __type-less__.  Lacking the notion of data type means that Caterva containers are not meant to be used in computations directly, but rather in combination with other higher-level libraries.  While this can be seen as a drawback, it actually favors simplicity and leaves up to the user the addition of the types that he is more interested in, which is far more flexible than typed-aware libraries (HDF5, NumPy and many others).\n\nDuring our talk, we will describe all these Caterva features by using [cat4py](https://github.com/Blosc/cat4py), a Python wrapper for Caterva.  Among the points to be discussed would be:\n\n* Introduction to the main features of Caterva.\n\n* Description of the basic data container and its usage.\n\n* Short discussion of different use cases:\n\n  * Create and fill high dimensional arrays.\n  * Get multi-dimensional slices out of the arrays.\n  * How different compression codecs and filters in the pipeline affect store/retrieval performance.\n  \nWe have been using Caterva in one of our internal projects for several months now, and we are pretty happy with the flexibility and easy-of-use that it brings to us.  This is why we decided to open-source it in the hope that it would benefit others, but also that others may help us in developing it further ;-)\n\n## About C-Blosc and C-Blosc2\n[C-Blosc](https://github.com/Blosc/c-blosc) is a high performance compressor optimized for binary data. It has been designed to transmit data to the processor cache faster than the traditional, non-compressed, direct memory fetch approach via a memcpy() OS call. Blosc is the first compressor (that we are aware of) that is meant not only to reduce the size of large datasets on-disk or in-memory, but also to accelerate memory-bound computations.\n\n[C-Blosc2](https://github.com/Blosc/c-blosc2) is the new major version of C-Blosc, with a revamped API and support for new compressors and new filters (data transformations), including filter pipelining, that is, the capability to apply different filters during the compression pipeline, allowing for more adaptability to the data to be compressed.  Dictionaries are also introduced, allowing better handling of redundancies among independent blocks and generally increasing compression ratio and performance.  Last but not least, there are new data containers that are meant to overcome the 32-bit limitation of the original C-Blosc. Furthermore, the new data containers are available in various formats, including in-memory and on-disk implementations.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QNMMGN", "name": "Francesc Alted", "avatar": "https://pretalx.com/media/avatars/QNMMGN_4IbVNPz.webp", "biography": "After more than a decade working in developing different Data Oriented libraries (PyTables, Blosc, bcolz), and High Performance Computing (numexpr) I am offering consulting and developer services for all the skills that I have cumulated through the years. I can also act as a teacher in Python and data handling; my courses can be tailored to the needs of the customer. \n\nI am also an open source developer and highly interested in Data Oriented Programming. Most of my current work in this area happens at Blosc2 (https://github.com/Blosc/c-blosc2), and Caterva (https://github.com/Blosc/Caterva) with some maintenance work on existing PyTables and Blosc packages.\n\nAreas of expertise: C and Python programming, compression, large databases, optimization, SQL, NoSQL.\n\nFormal resum\u00e9: http://www.blosc.org/pages/francesc-alted-resume/", "public_name": "Francesc Alted", "guid": "995c6379-d76d-526f-b609-2fd7eb45bd57", "url": "https://pretalx.com/euroscipy-2019/speaker/QNMMGN/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/BLPA7N/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/BLPA7N/", "attachments": []}, {"guid": "57d214ce-3844-55c3-8f16-dd6592f6aa59", "code": "H3DRAV", "id": 2582, "logo": null, "date": "2019-09-04T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2582-modin-scaling-the-capabilities-of-the-data-scientist-not-the-machine", "url": "https://pretalx.com/euroscipy-2019/talk/H3DRAV/", "title": "Modin: Scaling the Capabilities of the Data Scientist, not the machine", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Modern data systems tend to heavily focus on optimizing for the system\u2019s time. In this talk, we discuss the design of Modin, a DataFrame library, and how to optimize for the human system.", "description": "Modern data systems tend to heavily focus on optimizing for the system\u2019s time. Some of these optimizations, however, are counterproductive to the end user\u2019s workflow and thought process. In this talk, we discuss the design of Modin, a DataFrame library, and how to optimize for the human system.\n\nModin is a project at UC Berkeley's RISELab designed to optimize for the data scientist\u2019s time. Often when building a data system, the system designers will follow a set of \u201cbest practices\u201d in order to optimize performance. These \u201cbest practices\u201d often require data scientists to understand and personally optimize concepts and system components that are not central to extracting value from their data.\n\nThe fundamental goal of data science is to extract value from data. Despite this, data systems are being built with user requirements such as: (1) knowledge of partitioning, (2) understanding laziness and what triggers computation, (3) an entirely new API, and (4) where their code is running (e.g. locally, on-prem cluster, cloud). This overhead is passed to the data scientist, even though there is no overlap between these new requirements and the fundamental goal of their profession.\n\nIn this talk, we will discuss how we think about the problem of large scale data science and optimizing for the human system. We will discuss the system design of Modin, which enables pluggable backends, runtimes, and APIs. The system is designed to solve the needs of the data science community regardless of an individual user\u2019s environment. Currently, Modin supports the pandas API, and a proof of concept for SQL has been implemented. Modin is completely open-source and can be found on GitHub: https://github.com/modin-project/modin.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PVZBRE", "name": "Devin Petersohn", "avatar": "https://pretalx.com/media/avatars/PVZBRE_Ow3UxaX.webp", "biography": "Devin Petersohn", "public_name": "Devin Petersohn", "guid": "106fc63c-34bc-5ccd-8ed4-ed621624bb9c", "url": "https://pretalx.com/euroscipy-2019/speaker/PVZBRE/"}, {"code": "QCHQEZ", "name": "Devin Petersohn", "avatar": null, "biography": null, "public_name": "Devin Petersohn", "guid": "4eab41ea-9280-5b7e-947f-c999f9270f67", "url": "https://pretalx.com/euroscipy-2019/speaker/QCHQEZ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/H3DRAV/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/H3DRAV/", "attachments": []}, {"guid": "0c6bed7a-a8ca-5be8-86c9-499c52bbc857", "code": "XBGYZB", "id": 1420, "logo": null, "date": "2019-09-04T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1420-best-coding-practices-in-jupyterlab", "url": "https://pretalx.com/euroscipy-2019/talk/XBGYZB/", "title": "Best Coding Practices in Jupyterlab", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Jupyter notebooks are often a mess. The code produced is working for one notebook, but it's hard to maintain or to re-use. In this talks I will present some best practices to make code more readable, better to maintain and re-usable.", "description": "Jupyter notebooks are often a mess. The code produced is working for one notebook, but it's hard to maintain or to re-use. \nIn this talks I will present some best practices to make code more readable, better to maintain and re-usable.\n\nThis will include:\n- versioning best practices\n- how to use submodules\n- coding methods to avoid (e.g. closures)", "recording_license": "", "do_not_record": false, "persons": [{"code": "78ZETH", "name": "Alexander CS Hendorf", "avatar": "https://pretalx.com/media/avatars/78ZETH_jJYnxoA.webp", "biography": "Alexander' professional career was always about digitalization: starting from vinyl records in the nineties to advanced data analytics nowadays. He's  a Python Software Foundation fellow, program chair of Europe's main Python conference EuroPython, PyConDE and the scientific Python conference EuroSciPy. He\u2019s one of the 25 mongoDB masters and a regular contributor to the tech community. As regular speaker at international conferences in he love to talk about, discuss and train tech.\nBeing a partner at [K\u00f6nigsweg][1] - a boutique consultancy based in Mannheim, Germany - he's advising and training industry clients in Ai, data science and big data matters.\n\n  [1]: https://www.koenigsweg.com", "public_name": "Alexander CS Hendorf", "guid": "eca897b2-635c-585c-815d-17f228a5e7a6", "url": "https://pretalx.com/euroscipy-2019/speaker/78ZETH/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/XBGYZB/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/XBGYZB/", "attachments": []}, {"guid": "510a0638-5d2e-5169-aac3-0ac3a24ee12f", "code": "UHMWGH", "id": 1767, "logo": null, "date": "2019-09-04T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1767-lessons-learned-from-comparing-numba-cuda-and-c-cuda", "url": "https://pretalx.com/euroscipy-2019/talk/UHMWGH/", "title": "Lessons learned from comparing Numba-CUDA and C-CUDA", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "We compared the performance of GPU-Applications written in C-CUDA and Numba-CUDA. By analyzing the GPU assembly code, we learned about the reasons for the differences. This helped us to optimize our codes written in NUMBA-CUDA and NUMBA itself.", "description": "Numba allows the development of GPU  code in Python style.  When a Python script using Numba is executed, the code is compiled just-in-time (JIT)  using the LLVM framework. Using Python for GPU programming can mean a considerable simplification in the development of parallel applications compared to C and C-CUDA.\n\nPython, however, has to live with the prejudice of low performance, especially in HighPerformance Computing.\nWe wanted to get to the bottom of whether this is really true and where these differences come from. For this reason, we first analyzed the performance of typical micro benchmarks used in HPC. By analyzing the assembly codes, we learned a lot about the difference between codes produced by C-CUDA and NUMBA-CUDA.  Some of these insights have helped us to improve the performance of our application - and also of Numba-CUDA. With a few tricks it is possible to achieve very good performance with our Numba-Codes, which are very close - or sometimes even better than the C-CUDA versions.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NJFPZ3", "name": "Lena Oden", "avatar": null, "biography": "Lena Oden recently became a Junior Professor for Computer Architecture at the FernUniversit\u00e4t Hagen. Before that, she worked as a postdoctoral researcher at the Forschungszentrum J\u00fclich and at Argonne National Laboratory in the USA. She received her PhD in Computer Science from the Ruprecht-Karls-Universit\u00e4t Heidelberg and a Diploma in Electrical Engineering from RWTH Aachen. During her PhD, she worked at the Fraunhofer Institute for Industrial Mathematics. Her main research areas are Computer Architectures and Runtime Systems for HPC.\nHer interest in Python started when she worked with people  from other scientific areas. She likes the simplicity of Python, and started to use it as her main programming language for teaching parallel programming. \nShe is interested in improving the performance of Python, to make it more usable in HPC.", "public_name": "Lena Oden", "guid": "5e2d00ad-c77c-5787-ac3d-7c954f060f24", "url": "https://pretalx.com/euroscipy-2019/speaker/NJFPZ3/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/UHMWGH/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/UHMWGH/", "attachments": []}], "Track 2 (Baroja)": [{"guid": "ece1093a-1dcb-5acc-b821-80db57b25eb2", "code": "YU8EML", "id": 2679, "logo": null, "date": "2019-09-04T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2679-how-a-voice-assistant-works", "url": "https://pretalx.com/euroscipy-2019/talk/YU8EML/", "title": "How a voice assistant works", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "This talk will focus on the technologies needed to build a voice assistant. It will keep as center point Samsung\u2019s voice assistant Bixby, which is available in 8 languages across the world (5 EU languages) in a variety of Samsung mobile phones.", "description": "This talk will focus on the technologies needed to build a voice assistant. It will keep as center point Samsung\u2019s voice assistant Bixby, which is available in 8 languages across the world (5 EU languages) in a variety of Samsung mobile phones.\nFirst an overview of the needed infrastructure and the challenges regarding user education will be presented.\nThen, the talk will offer an overview of the technologies needed in a voice assistant:\n1.       Automatic Speech Recognition: how a sound wave is transcribed into words\n2.       Natural Language Understanding: extraction of meaning from a sentence\n3.       Natural Language Generation: response generation\n4.       Text To Speech: speech synthesis\nDuring the talk the new Bixby IDE will also be presented, with which any developer can create a \u201cvoice capsule\u201d that processes natural language to send/retrieve information from their API.\nBixby Developers site: https://bixbydevelopers.com/", "recording_license": "", "do_not_record": false, "persons": [{"code": "3BFXHU", "name": "Miren Urteaga Aldalur", "avatar": "https://pretalx.com/media/avatars/3BFXHU_SFw42Gu.webp", "biography": "todo", "public_name": "Miren Urteaga Aldalur", "guid": "4d16041c-cb5a-531d-9ccb-5b512605f76e", "url": "https://pretalx.com/euroscipy-2019/speaker/3BFXHU/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/YU8EML/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/YU8EML/", "attachments": []}, {"guid": "00202586-2ba2-50a1-8500-cd616c60d6e4", "code": "JJCQQJ", "id": 1311, "logo": null, "date": "2019-09-04T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1311-qutip-the-quantum-toolbox-in-python-as-an-ecosystem-for-quantum-physics-exploration-and-quantum-information-science", "url": "https://pretalx.com/euroscipy-2019/talk/JJCQQJ/", "title": "QuTiP: the quantum toolbox in Python as an ecosystem for quantum physics exploration and quantum information science", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "In this talk you will learn how QuTiP, the quantum toolbox in Python (http://qutip.org), has emerged from a library to an *ecosystem*. QuTiP is used for education, to teach quantum physics. In research and industry, for quantum computing simulation.", "description": "QuTiP is emerging as a library at the center of a lively ecosystem. In this talk you will learn about the ongoing projects that have invested this project, from providing the framework to simulate quantum machine learning for quantum computers to the development of efficient numerical solvers tackling dynamical problems that are inherently hard to simulate classically. \n\nIt can be noted that [Astropy](https://www.astropy.org/affiliated/index.html) is a community effort to develop a common core package for Astronomy in Python and \"foster an ecosystem of interoperable astronomy packages\", \n\nIt seems an interesting model for the quantum tech landscape. [Qiskit]() did build its own ecosystem of sub-libraries for quantum computing. The physics library for quantum tech is http://qutip.org .\n\nAbout the idea of QuTiP as a super-library, here are some details:\n\n- `krotov`, a very recent package for optimal control built on top of QuTiP ( https://arxiv.org/abs/1902.11284). \n[https://github.com/qucontrol/krotov].\n\n- `piqs`, the permutational invariant quantum solver, now a QuTiP module (see also https://arxiv.org/abs/1805.05129 );\n\n- `matsubara`, a plugin to study the ultrastrong coupling regime with structured baths,  http://matsubara.readthedocs.io/ \n\n- `QNET`, a computer algebra package for quantum mechanics and photonic quantum networks, which actually calls QuTiP as a plugin, mainly developed at Stanford in Mabuchi Lab https://github.com/mabuchilab/QNET \n\n- `qptomographer`,  https://qptomographer.readthedocs.io/en/latest/install, a library to derive error bars for experiments in quantum computing and quantum information processing. \n\n- `tiqs`, a library to study open quantum systems on extended lattices exploiting the symmetries of such systems, https://github.com/fminga/tiqs \n\n- other upcoming integrations relative to pulse control, such as `qupulse`, https://github.com/qutech/qupulse/wiki/Architecture-Proposal\n\nThis talk will be of interest to the curious coder and researcher, analyzing how QuTiP's impact in the research community has fostered a [*lingua franca* for quantum tech research](https://twitter.com/goerz/status/1118739088595652611). We will also draw comparisons with other larger ecosystems in Python-based scientific projects, such as astropy and scikit-learn.  \n\n# More about QuTiP\n- QuTiP is the open-source software to study quantum physics. It develops both an intuitive playground to understand quantum mechanics and cutting-edge tools to investigate it. \n- QuTiP provides the most comprehensive toolbox to characterize noise and dissipation \u2013realistic processes\u2013 affecting quantum systems, as well as tools not only to monitor but also to minimize their impact (quantum optimal control, description of decoherence-free spaces). \n- For this reason QuTiP is a software born out of the quantum optics community and that has become increasingly relevant for the quantum computing community, as current quantum computing devices are noisy (NISQ definition by Preskill).  \n- `pypinfo` data shows that QuTiP is popular in countries that are strong in quantum tech and quantum computing research, eg, The Netherlands in the top five, as well as countries that benefit in the use of open source software (OSS) for university coursework, eg, India. \n- In the past three years, there has been an evolution in the quantum tech community, which has embraced OSS. \n- OSS libraries are used as a means to grow the user base, as well as in a more structural way for quantum computers, as they provide cloud access to quantum devices, e.g., IBM Q.\n- QuTiP is the only major library that has continued to thrive in this ecosystem, competing with other library packages that are funded by corporations or VC-backed startups/ \n- Since the tools of QuTiP provide a common ground to study quantum mechanics, it is important that this independent project is provided with the necessary support to thrive\n- As access to quantum computers becomes more and more widespread also for the use of data scientist and QuTiP's popularity grows even more for undergraduate and graduate courses, becoming the de-facto standard OSS to study quantum optical systems, it is imperative that the QuTiP library makes a quality jump to provide a comprehensive introduction to its tools for a much broader community of users. \n\n\n- QuTiP website: http://www.qutip.org/\n- GitHub repository: https://github.com/qutip\n- GitHub repository (QuTiP code): https://github.com/qutip/qutip\n- GitHub repository (QuTiP documentation): https://github.com/qutip/qutip-doc\n- GitHub repository (QuTiP tutorials): https://github.com/qutip/qutip-notebooks\n- Latest version of the documetnation:\n  http://qutip.org/docs/latest/index.html\n- Historical archive of released documentation: http://qutip.org/documentation.html\n\n\n## QuTiP core development team\n\nQuTiP core development team: (Alex Pitchford, alex.pitchford@gmail.com). Additional mentors will be the project's core contributors Nathan Shammah (nathan.shammah@gmail.com), Shahnawaz Ahmed (shahnawaz.ahmed95@gmail.com) and Eric Giguere (eric.giguere@usherbrooke.ca). \n\nQuTiP is a project started by Robert J. Johansson and Paul Nation. Other core developers have been Arne Grimso, Chris Granade and over other 44 contributors. \n\n## References\n[1] J. R. Johansson, P. D. Nation, and F. Nori: \u201cQuTiP: An open-source Python framework for the dynamics of open quantum systems.\u201d, Comp. Phys. Comm. 183, 1760\u20131772 (2012)\n\n[2] J. Robert Johansson, Paul D. Nation, and Franco Nori: \u201cQuTiP 2: A Python framework for the dynamics of open quantum systems.\u201d, Comp. Phys. Comm. 184, 1234 (2013)\n\n[3] J. Preskill, \"Quantum Computing in the NISQ era and beyond.\" Quantum **2**, 79 (2018)\n\n[4] Mark Fingerhuth, Tom\u00e1\u0161 Babej, and Peter Wittek, Open source software in quantum computing, PLoS ONE 13 (12): e0208561 (2018).\n\n[5] N. Shammah, S. Ahmed, N. Lambert, S. De Liberato, and F. Nori, \"Open quantum systems with local and collective incoherent processes: Efficient numerical simulation using permutational invariance \" Phys. Rev. A 98, 063815 (2018). Code at [http://piqs.readthedocs.io](http://piqs.readthedocs.io)\n\n[6] N. Lambert, S. Ahmed, M. Cirio, and F. Nori, \"Virtual excitations in the ultra-strongly-coupled spin-boson model: physical results from unphysical modes\", arXiv preprint arXiv:1903.05892. Also [http://matsubara.readthedocs.io](http://matsubara.readthedocs.io)\n\n**Other relevant material**:\n\n- Slides on QuTiP and the quantum-tech open source ecosystem (Nathan Shammah @ Berkeley Lab, 2019). [PDF](https://conferences.lbl.gov/event/195/session/6/contribution/13/material/slides/0.pdf)\n\n- [\"The rise of open source in quantum physics research\"](http://blogs.nature.com/onyourwavelength/2019/01/09/the-rise-of-open-source-in-quantum-physics-research/), Nathan Shammah and Shahnawaz Ahmed, Nature's physics blog, January 9, 2019. \n\n- \"Bit to QuBit: Data in the age of quantum computers\", Shahnawaz Ahmed, PyData 2018, Warsaw, Poland, 2019. [YouTube video](https://www.youtube.com/watch?v=6GAXJhL1mSs).", "recording_license": "", "do_not_record": false, "persons": [{"code": "3KH7ZM", "name": "Nathan Shammah", "avatar": null, "biography": "I work for the development of open-source software for quantum physics research and its role in quantum technology transfer. I am also interested in the study of quantum information processing and light-matter interaction in solid-state cavity quantum electrodynamics (QED). My research focus is on open quantum systems dynamics, and the interplay between cooperative effects and dissipative mechanisms in many-body quantum systems. In particular, I investigate how fingerprints of the ultrastrong coupling regime between light and matter can be addressed. I am also interested in the characterization of the light-matter physics in physical devices, such as superconducting circuits and semiconductor quantum wells, for technology applications such quantum information processing and Terahertz light emission.", "public_name": "Nathan Shammah", "guid": "6cc05866-baa5-5938-9c3b-b23123b06fca", "url": "https://pretalx.com/euroscipy-2019/speaker/3KH7ZM/"}, {"code": "LWLGFE", "name": "Alexander Pitchford", "avatar": "https://pretalx.com/media/avatars/LWLGFE_F5z2AFZ.webp", "biography": "Currently working as postgraduate researcher in quantum control theory and optimisation algorithms. I am employed by the [Mathematics Dept of Aberystwyth University](https://www.aber.ac.uk/en/maths/). I am also associated with the [Controlled Quantum Dynamics Group at Imperial College](https://www.imperial.ac.uk/controlled-quantum-dynamics). \nI am part of the Administration Team for [QuTiP](http://qutip.org/) - the Quantum Toolkit in Python. I introduced the quantum control sub-library into QuTiP. Through this I also have close ties with the [Theoretical Quantum Physics Lab at RIKEN](http://www.riken.jp/en/research/labs/chief/theor_qtm_phys/)\n\nI spent the last 9 years doing undergraduate, then PhD Physics at Aberystwyth University. Prior to that I worked as a software developer / consultant in manufacturing simulation and finance process automation.", "public_name": "Alexander Pitchford", "guid": "e75aef2d-de2d-540f-ba11-f258d070ca65", "url": "https://pretalx.com/euroscipy-2019/speaker/LWLGFE/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/JJCQQJ/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/JJCQQJ/", "attachments": []}, {"guid": "687cf29f-73ab-51c0-b74a-a504f5433e9f", "code": "PDYER8", "id": 1822, "logo": null, "date": "2019-09-04T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1822-constrained-data-synthesis", "url": "https://pretalx.com/euroscipy-2019/talk/PDYER8/", "title": "Constrained Data Synthesis", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "We introduce a method for creating synthetic data \"to order\" based on learned (or provided) constraints and data classifications. This includes \"good\" and \"bad\" data.", "description": "Synthetic data is useful in many contexts, including\n\n  * providing \"safe\", non-private alternatives to data containing personally identifiable information\n  * software and pipeline testing\n  * software and service development\n  * enhancing datasets for machine learning.\n\nSynthetic data is often created on a bespoke basis, and since the advent of generative adverserial networks (GANs) there has been considerable interest and experimentation with using those as the basis for creating synthetic data.\n\nWe have taken a different approach. We have worked for some years on developing methods for automatically finding constraints that characterise data, and which can be used for testing data validity (so-called \"test-driven data analysis\", TDDA). Such constraints form (by design) a useful characterisation of the data from which they were generated. As a result, methods that generate datasets that match the constraints necessarily construct datasets that match many of the original characteristics of the data from which the constraints were extracted.\n\nAn important aspect of datasets is the relationship between \"good\" (~ valid) and \"bad\" (~ invalid) data, both of which are typically present. Systems for creating useful, realistic synthetic data generally need to be able to synthesize both kinds, in realistic mixtures.\n\nThis talk will discuss data synthesis from constraints, describing what has been achieved so far (which includes synthesizing good and bad data) and future research directions.", "recording_license": "", "do_not_record": false, "persons": [{"code": "R89Z7R", "name": "Nick Radcliffe", "avatar": "https://pretalx.com/media/avatars/R89Z7R_uAQwhdL.webp", "biography": "Nick is a practising data scientist with over 30 years experience, from neural networks and genetic algorithms on parallel systems in the late 1980s, through parallel machine learning and 3D visualisation software as a founder of Quadstone, from 1995, to novel modelling methods (e.g. uplift modelling) in the early 2000s. Since 2007 , he has run Edinburgh data science specialists Stochastic Solutions. \n\nNick enjoys using his deep knowledge of underlying algorithms to fashion tailored solutions to practical business problems for clients including Barclays, Sainsburys, T-Mobile and Skyscanner, and has a particular interest in testing and correctness in data science.", "public_name": "Nick Radcliffe", "guid": "5219263d-4358-56b0-9393-16fbd858b0cf", "url": "https://pretalx.com/euroscipy-2019/speaker/R89Z7R/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/PDYER8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/PDYER8/", "attachments": []}, {"guid": "af9924cb-d992-5c91-ac58-9c8c14f4195e", "code": "PEJPDG", "id": 1445, "logo": null, "date": "2019-09-04T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1445-tofu-an-open-source-python-cython-library-for-synthetic-tomography-diagnostics-on-tokamaks", "url": "https://pretalx.com/euroscipy-2019/talk/PEJPDG/", "title": "ToFu - an open-source python/cython library for synthetic tomography diagnostics on Tokamaks", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "We present an open-source parallelized and cythonized python library, ToFu, for modeling tomography diagnostics on nuclear fusion reactors. Its functionalities (with realistic examples), its architecture and its design will be shown.", "description": "Nuclear fusion comes along with great promises of almost limitless energy with little risks and waste. But it also comes with significant scientific and technological complexities. Decades of efforts may find an echo in ITER, an international tokamak being built to address this challenge. A tokamak is a particular kind of advanced experimental nuclear fusion reactor. It is a torus-shaped vacuum vessel in which a hydrogen plasma of very low density is heated up to temperatures (10-100 millions of degrees Celsius) allowing nuclear fusion reactions to occur. The torus-shaped plasma radiates light, which is measured in various wavelength domains by dedicated sets of detectors (called diagnostics), like 2D cameras observing visible light, 1D arrangements of diodes sensitive to X-rays, ultra-violet spectrometers... Due to the torus shape, the plasma is axisymmetric, and like in medical imaging, tomography methods can be used to diagnose the light radiated in a plasma cross-section.\nFor all diagnostics, one can seek to solve the direct or the inverse problem. The direct problem consists in computing the measurements from a known plasma light emissivity, provided by a plasma simulation for example. \nThe inverse problem consists in computing the plasma light emissivity from experimental measurements. The algorithms involved in solving both the direct and inverse problem are very similar, no matter the wavelength domain.\n\nLike many, the fusion community tends to suffer from a lack of reproducibility of the results it publishes. This problem is particularly acute in the case of tomography diagnostics since the inverse problem is ill-posed and the solution unicity is not guaranteed. There are also many possible simplifying hypotheses that may, or may not, be relevant for each diagnostic. In this regard, the historical uses of the community display a large variety of single-user black-box codes, each typically designed by a student, and often forgotten or left as is until a new student is hired and starts all over again. \n\nIn this context, a machine-independent, open-source and documented python library, ToFu, was started to provide the fusion community with a common and free reference tool. \nWe thus aim at improving reproducibility by providing a known and transparent tool, able to efficiently solve both the direct and inverse problem for tomography diagnostics. It can use very simple hypothesis or very complete diagnostics descriptions alike, one of the ideas being that it should allow users to perform accurate calculations easily, sparing them the need to simplify hypotheses that are not always valid. \n\nA zero version of tofu, fully operational but not user-friendly enough, was first developed between 2014 and 2016 when it was used for published results. Strong with this first proof of principle, a significant effort was initiated in 2017 to completely re-write the code with a stronger emphasis on python community standards (PEP8), version control (Github), performance (cython), packaging (pip and conda), continuous integration (nosetests and travis), modularity (architecture refurbishing), user-friendliness (renamings, utility tools) and object-oriented coding (class inheritance). \nThis effort is still ongoing to this day and is scheduled to go on for the next 2.5 years. However, the first milestones have been reached, and we would like to present the first re-written modules to the python community, for publicity, advice, feedback, mutually enriching exchanges and more generally because we feel tofu is part of the large open-source python scientific community.\n\nThe code is composed of several modules: a geometry module, a data visualization module, a meshing module, and an inversion module. We will present the geometry module (containing ray-tracing tools, spatial integration algorithms...) and the data module (making use of matplotlib for pre-defined interactive figures). Using profiling tools, the numerical core of the geometry module was optimized and parallelized recently in `Cython` making the code more than ten thousand times faster than the previous version on some test cases. Memory usage has also been reduced by half on the largest test cases.\n\nsee [ToFu](https://github.com/ToFuProject/tofu)", "recording_license": "", "do_not_record": false, "persons": [{"code": "8YRZ7W", "name": "Didier VEZINET", "avatar": null, "biography": null, "public_name": "Didier VEZINET", "guid": "c49d6d78-2724-5ae3-b2d3-969e8c5b834f", "url": "https://pretalx.com/euroscipy-2019/speaker/8YRZ7W/"}, {"code": "ZKBLZU", "name": "Laura Mendoza", "avatar": "https://pretalx.com/media/avatars/ZKBLZU_FGJdbDj.webp", "biography": "I was born in Strasbourg, France, but was raised in Guatemala city where I went to a French school. I did my undergraduate degree in the University of Strasbourg, where I obtained a bachelor degree in Mathematics with minor in Computer Science followed by a Master degree in Applied Mathematics specialized in Scientific Computing and Computer Science Security. Then, I obtained my Ph.D. in Numerical Methods in Plasma's Physics at the Technical University of Munich while I was based at the Max-Planck Institute for Plasma Physics. I want back to Strasbourg for a 2-year post-doc. Currently, I am working on the development and optimization of the ToFu library as a Research Engineering at the INRIA institute. This research is being funded by a 3-year Engineering grant of EUROFUSION obtained in June 2018.", "public_name": "Laura Mendoza", "guid": "3ed08fb6-aa05-551f-bc10-c4ce126aaefc", "url": "https://pretalx.com/euroscipy-2019/speaker/ZKBLZU/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/PEJPDG/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/PEJPDG/", "attachments": []}, {"guid": "2beccc72-e284-5d8f-b76f-dba46ed5c96f", "code": "HGNPFF", "id": 2748, "logo": null, "date": "2019-09-04T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2748-debugging-in-jupyterlab", "url": "https://pretalx.com/euroscipy-2019/talk/HGNPFF/", "title": "Debugging in JupyterLab", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Debugging Jupyter Notebooks has been one of the most requested features. In this presentation we give an overview of the current state and tools for debugging in Jupyter, and offer a glimpse of what is coming next.", "description": "Layout:\n\n##### 1. Current tools for debugging Jupyter Notebooks\n\n- print statements\n- ipdb\n- PixieDebugger (IBM)\n- Visual Studio Code cell debugging\n\n##### 2. Native debugging support for Jupyter Kernels\n\n- Jupyter protocol extension\n- Debug Adapter Protocol in xeus-python\n\n##### 3. Debugger extension for JupyterLab\n\n- An IDE-like debugging experience in JupyterLab\n- Active development, current prototype\n- Demo", "recording_license": "", "do_not_record": false, "persons": [{"code": "MAZXW8", "name": "Jeremy Tuloup", "avatar": "https://pretalx.com/media/avatars/MAZXW8_w5NxSev.webp", "biography": "Scientific Software Developer at QuantStack", "public_name": "Jeremy Tuloup", "guid": "c841caff-f055-5a3b-bfe0-2b195168d740", "url": "https://pretalx.com/euroscipy-2019/speaker/MAZXW8/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/HGNPFF/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/HGNPFF/", "attachments": []}, {"guid": "d470fc0b-849f-5919-9961-e633d4cd5d64", "code": "XZLXZM", "id": 1567, "logo": null, "date": "2019-09-04T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1567-controlling-a-confounding-effect-in-predictive-analysis", "url": "https://pretalx.com/euroscipy-2019/talk/XZLXZM/", "title": "Controlling a confounding effect in predictive analysis.", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Confounding effects are often present in observational data: the effect or association studied is observed jointly with other effects that are not desired.", "description": "For instance, when predicting the salary to offer given the descriptions of professional experience, the risk is to capture indirectly a gender bias present in the distribution of salaries. Another example is found in biomedical applications, where for an automated radiology diagnostic system to be useful, it should use more than socio-demographic information to build its prediction.\n\nHere I will talk about confounds in predictive models. I will review classic deconfounding techniques developed in a well-established statistical literature, and how they can be adapted to predictive modeling settings. Departing from deconfounding, I will introduce a non-parametric approach \u2013that we named \u201cconfound-isolating cross-validation\u201d\u2013 adapting cross-validation experiments to measure the performance of a model independently of the confounding effect.\n\nThe examples are mentioned in this work are related to the common issues in neuroimage analysis, although the approach is not limited to neuroscience and can be useful in another domains.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7N3KYY", "name": "Darya Chyzhyk", "avatar": null, "biography": "I\u2019m Darya, researcher in artificial intelligence and machine learning, in particular feature selection, clustering, pattern recognition, segmentation and statistical analysis. During the last years I have been working on computer aided diagnostic systems for brain diseases that allow identification of the anatomical location of image biomarkers, lesion segmentation and phenotype prediction.", "public_name": "Darya Chyzhyk", "guid": "6710d327-c4c5-5885-80ee-92625e4b813f", "url": "https://pretalx.com/euroscipy-2019/speaker/7N3KYY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/XZLXZM/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/XZLXZM/", "attachments": []}, {"guid": "8aabfffe-488a-5648-9e2e-488e78563f4e", "code": "DVDLRG", "id": 1429, "logo": null, "date": "2019-09-04T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1429-the-rapid-analytics-and-model-prototyping-ramp-framework-tools-for-collaborative-data-science-challenges", "url": "https://pretalx.com/euroscipy-2019/talk/DVDLRG/", "title": "The Rapid Analytics and Model Prototyping (RAMP) framework: tools for collaborative data science challenges", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The RAMP (Rapid Analytics and Model Prototyping) framework provides a platform to organize reproducible and transparent data challenges. We will present the different framework bricks.", "description": "We will give an overview of the RAMP framework, which provides a platform to organize reproducible and transparent data challenges.\n\nRAMP workflow is a python package used to define and formalize the data science problem to be solved. It can be used as a standalone package and allows a user to prototype different solutions. In addition to RAMP workflow, a set of packages have been developed allowing to share and collaborate around the developer solutions. Therefore, RAMP database provides a database structure to store the solutions of different users and the performance of these solutions. RAMP engine is the package to run the user solutions (possibly on the cloud) and populate the database. Finally, RAMP frontend is the web frontend where users can upload their solutions and which shows the leaderboard of the challenge.\n\nThe project is open-source and can be deployed on any local server. The framework has been used at the Paris-Saclay Center for Data Science for setting up and solving about twenty scientific problems, for organizing collaborative data challenges, for organizing scientific sub-communities around these events, and for training novice data scientists.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KMDJAL", "name": "Guillaume Lemaitre", "avatar": "https://pretalx.com/media/avatars/KMDJAL_DPeMBoG.webp", "biography": "I am an engineer working for the scikit-learn foundation @ Inria.", "public_name": "Guillaume Lemaitre", "guid": "41faba07-5db9-5480-8bd8-f8de3b4d4146", "url": "https://pretalx.com/euroscipy-2019/speaker/KMDJAL/"}, {"code": "7VUXWM", "name": "Joris Van den Bossche", "avatar": "https://pretalx.com/media/avatars/7VUXWM_nRBADDN.webp", "biography": "I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, worked at the Paris-Saclay Center for Data Science, and, currently I am a freelance software developer and teacher.", "public_name": "Joris Van den Bossche", "guid": "1f18915a-a2f7-51e7-96cf-82152ec96930", "url": "https://pretalx.com/euroscipy-2019/speaker/7VUXWM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/DVDLRG/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/DVDLRG/", "attachments": []}], "Track 3 (Oteiza)": [{"guid": "8e1293ca-3c89-5427-a872-5c2f39208a1d", "code": "SZ8S8G", "id": 1801, "logo": null, "date": "2019-09-04T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1801-sufficiently-advanced-testing-with-hypothesis", "url": "https://pretalx.com/euroscipy-2019/talk/SZ8S8G/", "title": "Sufficiently Advanced Testing with Hypothesis", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Testing research code can be difficult, but is essential for robust results.  Using Hypothesis, a tool for property-based testing, I'll show how testing can be both easier and dramatically more powerful - even for complex \"black box\" codes.", "description": "Code is now a critical part of almost all research, whether for communication or\nfor data collection and analysis. Unfortunately, producing reliably error-free\ncode remains an open problem in science to an even greater extent than other\napplications. Soergal (2014) estimates that \"any reported scientific result could\nvery well be wrong if data have passed through a computer, and that these\nerrors may remain largely undetected.\" - though some software errors are\nmuch more dramatic, as with the crash of the Mars Climate Orbiter.\n\nWhat can we do to reduce the rate of errors in our own code? There is no silver\nbullet, but a more efficient way to create tests would certainly help...\n\nThe answer is to have a computer write your tests for you! Using Hypothesis,\nyou describe valid inputs - from 'an integer' to 'dataframes like this', as\ncomplex and precise as needed - and write a test which should always pass...\nthen Hypothesis searches for the smallest inputs that cause an error.\n\nThis approach is called property based testing, and it regularly catches errors\nthat evaded every human review and hand-written test case (even in Numpy).\nEven better, it rewards well-designed software - but can also do a quick check\nof a script in just a few lines of code.\n\nWe'll cover the theory of property-based testing, a worked example, and then\njump into a whirlwind tour of the Hypothesis API: how to use, define, compose,\nand infer strategies for input; properties and testing tactics for your code; and\nhow to debug your tests if everything seems to go wrong.\n\nBy the end of this talk, you'll be ready to find real bugs with Hypothesis in\nanything from data pipelines to the core scientific Python libraries. Be the\nchange you want to see in your team's code - or test someone else's and help\npush the world into a new age of reliable research software!", "recording_license": "", "do_not_record": false, "persons": [{"code": "LFU8AS", "name": "Zac Hatfield-Dodds", "avatar": "https://pretalx.com/media/avatars/LFU8AS_oqlC8Gf.webp", "biography": "Zac is a researcher at the Australian National University\u2019s 3A Institute, which is building a new applied science to 'manage the machines' - AI, cyber-physical systems, and other new technologies.\n\nHe started using Python to analyse huge environmental datasets, and contributing to libraries like Xarray to make such analysis easier for all scientists.  Now, as a maintainer of Hypothesis, Pytest, and Trio, Zac is still passionate about making it easy to write software you can understand and rely on.\n\nWhen not at a computer he can usually be found surrounded by books of all kinds, the Australian bush, or both.", "public_name": "Zac Hatfield-Dodds", "guid": "bf216ade-112e-5216-ac05-8d6827f58cb3", "url": "https://pretalx.com/euroscipy-2019/speaker/LFU8AS/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/SZ8S8G/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/SZ8S8G/", "attachments": []}, {"guid": "3b5336b9-8930-5392-b533-cc24a34e0aa4", "code": "YHCP9C", "id": 1810, "logo": null, "date": "2019-09-04T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1810-what-about-tests-in-machine-learning-projects", "url": "https://pretalx.com/euroscipy-2019/talk/YHCP9C/", "title": "What about tests in Machine Learning projects?", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Good practices tell you must write tests! But testing Machine Learning projects can be really complicated. Test writing seems often inefficient. Which kind of test should be written? How to write them? What are the benefits?", "description": "Once your machine learning POC seems promising and your development environment is set up, the next step is to refactor your code and write TESTS. We know that a lot of people think tests are too complicated and boring to write and they are not very useful. Some manual checks can address the need.\n\nIt is not totally false. Tests can be really boring and time consuming to write when you don't have the right tools, the right APIs, the right environments or the right code structure.\nBut it is always a bad idea to ignore tests or to perform them manually. If you want to be involved in your project life cycle, if you want to bring it from POC to production you need to care about tests. After some years tackling production bugs, you can't feel safe delivering without tests as you can't start driving until your seat belt is fastened.\n\nThere is more than one way to test. Tests can be split on several levels (unit, component, functional, performances, etc...) to be able to quickly identify the faulty code/data/parameter. Tests must also be automated in a Continuous Integration and run at least on each experiment before merging it in the baseline pipeline as it is done in software engineering (the CI is triggered on each feature branch).\n\nThis talk is about how to easily write tests and testable code, how to avoid most common traps and what are the benefits of tests on unrealistic data in your Machine Learning project. \n\n(Tests on real data are also really important but they are not the main purpose of this talk.)\n\nSlides are here: sdg.jlbl.net/slides/tests_for_datascientist/presentation.html", "recording_license": "", "do_not_record": false, "persons": [{"code": "X7BWJC", "name": "Sarah Diot-Girard", "avatar": null, "biography": null, "public_name": "Sarah Diot-Girard", "guid": "a899fedd-33e4-5c71-8213-bde3bb2a0be5", "url": "https://pretalx.com/euroscipy-2019/speaker/X7BWJC/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/YHCP9C/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/YHCP9C/", "attachments": []}, {"guid": "6e172ed5-2139-599e-8248-3316828ee999", "code": "QVCFGE", "id": 1436, "logo": null, "date": "2019-09-04T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1436-scientific-devops-designing-reproducible-data-analysis-pipelines-with-containerized-workflow-managers", "url": "https://pretalx.com/euroscipy-2019/talk/QVCFGE/", "title": "Scientific DevOps:  Designing Reproducible Data Analysis Pipelines with Containerized Workflow Managers", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "A review of DevOps tools as applied to data analysis pipelines, including workflow managers, software containers, testing frameworks, and online repositories for performing reproducible science that scales.", "description": "Open source and open science come together when the software is accessible, transparent, and owned by all.  For data analysis pipelines that grow in complexity beyond a single Jupyter notebook, this can become a challenge as the number of steps and software dependencies increase.  In this talk, Nicholas Del Grosso will review a variety of tools for packaging and managing a data analysis pipeline, showing how they fit together and benefit the development, testing, deployment, and publication processes and the scientific community.  In particular, this talk will cover:\n\n  - **Workflow managers** (e.g. Snakemake, PyDoit, Luigi) to combine complex pipelines into single applications.  \n\n  - **Container Solutions** (e.g. Docker and Singularity) to package and deploy the software on others' computers, including high-performance computing clusters.\n\n  - **The Scientific Filesystem** to build explorable and multi-purpose applications.\n\n  - **Testing Frameworks** (e.g. PyTest, Hypothesis) to declare and confirm the assumptions and functionality of the analysis pipeline.\n\n  - **Ease-of-Use Utilities** to share the pipeline online and make it accessible to non-programmers.\n\nBy writing software that stays manageable, reproducible, and deployable continuously throughout the development cycle, we can better fulfill the goals of open science and good scientific practice in a digital era.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TVGSW8", "name": "Nicholas Del Grosso", "avatar": null, "biography": "Nicholas Del Grosso is an American neuroscientist post-doc in Germany who is passionate about open, reproducible science.   Besides teaching data analysis and programming to scientists in courses, workshops, and at PyData Munich, he builds scientific software to study the learning process itself--from understanding the brain's responses to exposure to machine-brain interfaces, rat's understanding of 3D virtual environments, and scientists's responses to the stress of managing their own experiments!\n\n**Note**: Nick is currently looking for a post-doctoral position to work on problems related to reproducible science!  If you're looking for someone like him, send him a message or come say hello!", "public_name": "Nicholas Del Grosso", "guid": "9f4f7134-8515-55f3-aaf7-8a7ae10aff57", "url": "https://pretalx.com/euroscipy-2019/speaker/TVGSW8/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/QVCFGE/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/QVCFGE/", "attachments": []}, {"guid": "050d4697-9cd8-5ce4-9462-008a8c2fb131", "code": "UMWUTW", "id": 1813, "logo": null, "date": "2019-09-04T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1813-dashboarding-with-jupyter-notebooks-voila-and-widgets", "url": "https://pretalx.com/euroscipy-2019/talk/UMWUTW/", "title": "Dashboarding with Jupyter notebooks, voila and widgets", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Turn your Jupyter notebook into a beautiful modern React or Vue based dashboard using voila and Jupyter widgets.", "description": "Sharing the result of a Jupyter notebook is currently not an easy path. With voila we are changing this. Voila is a small but important ingredient in the Jupyter ecosystem. Voila can execute notebooks, keeping the kernel connected but does not allow for arbitrary code execution, making it safe to share your notebooks with others.\nWith new libraries built on top of Jupyter widgets/ipywidgets (ipymaterialui and ipyvuetify) we allow beautiful modern React and Vue components to enter the Jupyter notebook. Using voila we can integrate the ipywidgets seamlessly into modern React and Vue pages, to build modern dashboards directly from a Jupyter notebook.\nI will give a live example on how to transform a Jupyter notebook into a fully functional single page application with a modern (Material Design) look.", "recording_license": "", "do_not_record": false, "persons": [{"code": "38EYUA", "name": "Maarten Breddels", "avatar": "https://pretalx.com/media/avatars/38EYUA_GCSIkAo.webp", "biography": "Maarten Breddels is an entrepreneur and freelance developer/consultant/data scientist working mostly with Python, C++ and Javascript in the Jupyter ecosystem. Creator of ipyvolume and vaex, founder of vaex.io. His expertise ranges from fast numerical computation, API design, to 3d visualization. He has a Bachelor in ICT, a Master and PhD in Astronomy, likes to code and solve problems.", "public_name": "Maarten Breddels", "guid": "f04edad1-08aa-56f2-b189-a7e85b0209b1", "url": "https://pretalx.com/euroscipy-2019/speaker/38EYUA/"}, {"code": "DXWAL8", "name": "Martin Renou", "avatar": "https://pretalx.com/media/avatars/DXWAL8_yvnDPMF.webp", "biography": null, "public_name": "Martin Renou", "guid": "e3681b3f-bf51-5d4b-913a-5300a50546cb", "url": "https://pretalx.com/euroscipy-2019/speaker/DXWAL8/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/UMWUTW/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/UMWUTW/", "attachments": []}, {"guid": "7c9654fa-3aab-5c1c-a0ce-787c82cecbf2", "code": "PFH3QK", "id": 1403, "logo": null, "date": "2019-09-04T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1403-make-your-python-code-fly-at-transonic-speeds", "url": "https://pretalx.com/euroscipy-2019/talk/PFH3QK/", "title": "Make your Python code fly at transonic speeds!", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "[Transonic](http://transonic.readthedocs.io) is a new pure Python package to easily accelerate modern Python-Numpy code with different accelerators (like Cython, Pythran, Numba, Cupy, etc...).", "description": "Slides available at https://tiny.cc/euroscipy2019-transonic\n\n[Transonic](http://transonic.readthedocs.io/) is a pure Python package (requiring Python >= 3.6) to easily accelerate modern Python-Numpy code with different accelerators (like Cython, [Pythran](https://github.com/serge-sans-paille/pythran), Numba, Cupy, etc...) opportunistically (i.e. if/when they are available).\n\nWe will first present the context of the creation of this package, i.e. the Python's High Performance Computing (HPC) Landscape. We will show how Transonic can be used to write elegant and very efficient HPC codes with Python, with examples taken from real-life research simulation codes ([fluidfft](https://fluidfft.readthedocs.io) and [fluidsim](https://fluidsim.readthedocs.io)). We will discuss the advantages of using Transonic instead of writing big Cython extensions or using Numba or Pythran directly.\n\nA strategy to quickly develop a very efficient scientific application/library with Python and Transonic could be:\n\n1. Use modern Python coding, standard Numpy/Scipy for the computations and all the cool libraries you want.\n\n2. Profile your applications on real cases, detect the bottlenecks and apply standard optimizations with Numpy.\n\n3. Add few lines of Transonic to compile the hot spots.\n\nWe won't forget to also discuss some limitations of Transonic, and more generally of Python and its numerical ecosystem for High Performance Computing.", "recording_license": "", "do_not_record": false, "persons": [{"code": "83M9HS", "name": "Pierre Augier", "avatar": null, "biography": "Researcher in fluid dynamics at LEGI (Grenoble). Use Python a lot, in particular for the [FluidDyn project](https://fluiddyn.readthedocs.io).", "public_name": "Pierre Augier", "guid": "97ddae61-a5a3-5aa9-b105-43182d6ec9fd", "url": "https://pretalx.com/euroscipy-2019/speaker/83M9HS/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/PFH3QK/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/PFH3QK/", "attachments": []}, {"guid": "ad5d4bbd-7302-5e6f-9bce-b828f50dc484", "code": "JSCWY7", "id": 1573, "logo": null, "date": "2019-09-04T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1573-pyfeti-an-easy-and-massively-dual-domain-decomposition-solver-for-python", "url": "https://pretalx.com/euroscipy-2019/talk/JSCWY7/", "title": "PyFETI - An easy and massively Dual Domain Decomposition Solver for Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "PyFETI is a python implementation of Finite-Element-Tearing-Interconnecting Methods. The library provides a massive linear solver using Domain Decomposition method, where problems are solved locally by Direct Solver and at the interface iteratively.", "description": "PyFETI is a python implementation of Finite-Element-Tearing-Interconnecting Methods. The library provides a massive linear solver that uses Domain Decomposition Techniques. FETI methods rely in the solution of a linear system, based on to linear solver algorithm strategies, Direct and Iteratively. A big problem is decomposed in subdomains, generating an additional set of constraints at the interface among subdomains. The local problem solution is formulated based on a new interface force at the interface that must connect the subdomains. Therefore, given an interface force, the local problems are solved based on a direct solver, e.g SuperLU, and the update of interface force is performed by Preconditioned Conjunged Projected Gradient.  The library has been tested for large linear elastic problems at the IT4I supercomputer center.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KJZ9JQ", "name": "Guilherme Jenovencio", "avatar": "https://pretalx.com/media/avatars/KJZ9JQ_edQdm4G.webp", "biography": "Ph.D. candidate at Applied Mechanics TUM focused on Computational Solid Mechanics. Strong experience in Structural analysis and Optimization.", "public_name": "Guilherme Jenovencio", "guid": "8b97e922-ecee-5e23-9e1f-bac2617f2358", "url": "https://pretalx.com/euroscipy-2019/speaker/KJZ9JQ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/JSCWY7/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/JSCWY7/", "attachments": []}, {"guid": "31e39f11-cfec-5d28-a6e9-122afdb42e1e", "code": "JHGWWN", "id": 1450, "logo": null, "date": "2019-09-04T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1450-high-voltage-lab-common-code-basis-library-a-uniform-user-friendly-object-oriented-api-for-a-high-voltage-engineering-research", "url": "https://pretalx.com/euroscipy-2019/talk/JHGWWN/", "title": "High Voltage Lab Common Code Basis library: a uniform user-friendly object-oriented API for a high voltage engineering research.", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The library leverages Python richness to provide a uniform user-friendly API for a zoo of industrial communication protocols used to control high voltage engineering devices, together with abstraction and implementations for such devices.", "description": "At the heart of ETH High Voltage Lab's (HVL) research are industrial devices put\ntogether into code-automated experiments. It's a zoo of industrial communication\nprotocols one needs to handle when controlling these devices. HVL decided to switch from\nMATLAB to Python as a programming and analysis tool. Python community provides solutions\nto majority of technicalities involved in handling multitude of industrial communication\nprotocols used to control high voltage research experiment devices. Moreover\nPython seems to be a more future-proof choice, meeting industry demand for a more\ncost-effective and collaborative solution.\n\nThe HVL Common Code Basis library (`hvl_ccb`) provides a uniform user-friendly\nobject-oriented API as well as  implementation for multiple of high voltage engineering\ndevices and their respective communication protocols. The library leverages Python's\nopen source community - implementations of specific communication protocols, but also\nrelies heavily on some of the languages newer features such as typing hints, dataclasses\nor enums.\n\nPython typing hints are used not only for their static type checking and autocompletion\nsupport from IDEs, but also for dynamic type checking of the communication protocol's\nand devices' configurations. The configurations themselves are a customized\nimplementation of Python's 3.7 dataclasses. Configurations properties rely heavily on\nPython (advanced) enumerations.\n\nCurrently, the library supports serial port, VISA over TCP, Modbus TCP, LabJack LJM and\nOPC UA communication protocols. These protocols are used within code abstraction of\ndevices such MBW973 SF6 Analyzer / dew point mirror, LabJack (T7-PRO) device, Schneider\nElectric ILS2T stepper motor drive, Elektro-Automatik PSI9000 DC power supply, Rhode &\nSchwarz RTO 1024 oscilloscope, or the Lab's state-of-the-art Supercube platform, which\nencapsulates safety components, the voltage source, as well as other auxiliary devices.", "recording_license": "", "do_not_record": false, "persons": [{"code": "FZGGZF", "name": "Miko\u0142aj Rybi\u0144ski", "avatar": null, "biography": "I have MSc degrees in Mathematics and Computer Science as well as a PhD degree in computational Mathematics, all from the University of Warsaw (Poland). My theoretical and research background is backed up with many years of experience in industrial and scientific software development.", "public_name": "Miko\u0142aj Rybi\u0144ski", "guid": "b0cf8098-543d-5303-8be5-b13295815e6b", "url": "https://pretalx.com/euroscipy-2019/speaker/FZGGZF/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/JHGWWN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/JHGWWN/", "attachments": []}], "Posters at 16:00": [{"guid": "a2c28767-8392-53fa-b260-ad7c6803a711", "code": "WGE8NA", "id": 1248, "logo": null, "date": "2019-09-04T08:25:00+00:00", "start": "08:25", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-1248-scikit-fdiff-a-new-tool-for-pde-solving", "url": "https://pretalx.com/euroscipy-2019/talk/WGE8NA/", "title": "scikit-fdiff, a new tool for PDE solving", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "Scikit-fdiff (formally Triflow) has been developed in order to facilitate mathematic models building. It has been made to quickly build and try many asymptotic falling film modelling with different phenomena coupling (energy and mass transfer).", "description": "Scikit-FDiff (formerly known as Triflow) is a new tool, written in pure Python, that focus on reducing the time between the developpement of the mathematical model and the numerical solving. It allows an easy and automatic finite difference discretization, thanks to a symbolic processing that can deal with systems of multi-dimensional partial differential equation with complex boundary conditions.\n\nUsing finite differences and the method of lines, it allows the transformation of the original PDE into an ODE, providing a fast computation of the temporal evolution vector and the Jacobian matrix. The later is pre-computed in a symbolic way and sparse by nature. It can be evaluated with as few computational resources as possible, allowing the use of implicit and explicit solvers at a reasonable cost.\n\nClassic ODE solvers have been implemented (or made available from dedicated python libraries), including backward and forward Euler scheme, Crank-Nickolson, explicit Runge-Kutta. More complexes ones, like improved Rosenbrock-Wanner schemes up to the 6th order, are also available. The time-step is managed by a built-in error computation, which ensures the accuracy of the solution. The main goal of the software is to minimize the time spent writting numerical solvers to focus on model development and data analysis.\n\nScikit-Fdiff is then able to solve toy cases in a few line of code as well as complex models. Extra tools are available, such as data saving during the simulation, real-time plotting and post-processing. It has been validated with the shallow-water equation on dam-breaks and the steady-lake case. It has also been applied to heated falling-films, dropplet spread and simple moisture flow in porous medium.", "recording_license": "", "do_not_record": false, "persons": [{"code": "F7R79L", "name": "Nicolas Cellier", "avatar": "https://pretalx.com/media/avatars/F7R79L_KeafXg4.webp", "biography": "Postdoct working in the Alps, mostly doing numerical support for the research. Specialized into PDE solving, I also have a strong numerical analysis background, and can use stat and machine learning tools.\nI mainly do Python (for the last 8 years), but I can switch on other tool if I need to : lower level language as C or Fortran, or specialized one like R and Julia.", "public_name": "Nicolas Cellier", "guid": "bb666f6d-842e-5b6a-94a0-e597ddbd998f", "url": "https://pretalx.com/euroscipy-2019/speaker/F7R79L/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/WGE8NA/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/WGE8NA/", "attachments": []}, {"guid": "94203d7f-aca2-53da-9874-31e8543f3677", "code": "CUXPCN", "id": 2272, "logo": null, "date": "2019-09-04T11:40:00+00:00", "start": "11:40", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-2272-phonolammps-phonopy-with-lammps-made-easy", "url": "https://pretalx.com/euroscipy-2019/talk/CUXPCN/", "title": "PhonoLAMMPS: Phonopy with LAMMPS made easy", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "PhonoLAMMPS is a Phonopy interface with LAMMPS that allows to calculate the interatomic force constants and other phonon properties from a usual LAMMPS input file.", "description": "In recent years Phonopy[1] has become a very well known software in  the materials science field for calculating the phonon properties of crystals. While Phonopy provides interfaces for many popular First Principles calculations software such as VASP, WIEN2K, SIESTA, etc., the implementation of interfaces for software based on empirical potentials is usually more challenging. This fact is due to the large variability of input structure and potential definitions that these kind of software require in comparison to the ones based on First Principles.\n\nIn this poster I present PhonoLAMMPS[2], a Phonopy interface with LAMMPS[3]  written in python that makes use of the LAMMPS official python API to allow to calculate the interatomic 2nd order force constants from a usual LAMMPS input file.\n\nPhonoLAMMPS can be used either as a python module with a similar phonopy-like \ninterface or as a simple comandline script.\n\n[1] A. Togo and I. Tanaka, Scr. Mater., 108, 1-5 (2015)  \n[2] https://github.com/abelcarreras/phonolammps  \n[3] S. Plimpton, J Comp Phys., 117, 1-19 (1995)", "recording_license": "", "do_not_record": false, "persons": [{"code": "8VJXJQ", "name": "Abel Carreras", "avatar": null, "biography": null, "public_name": "Abel Carreras", "guid": "954ac2eb-15f7-5b1b-992a-06759218611a", "url": "https://pretalx.com/euroscipy-2019/speaker/8VJXJQ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/CUXPCN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/CUXPCN/", "attachments": []}, {"guid": "c1c71ae6-49e9-5b33-9e5f-f86fe8291f16", "code": "HUPE99", "id": 1446, "logo": null, "date": "2019-09-04T13:15:00+00:00", "start": "13:15", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-1446-really-reproducible-behavioural-paper", "url": "https://pretalx.com/euroscipy-2019/talk/HUPE99/", "title": "Really reproducible behavioural paper", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "A heavily _XKCD_ themed poster about writing a really reproducible behavioural paper in Python environment.\n[The poster is also available online.](https://tinyurl.com/y35otadt)", "description": "In recent years replication crisis in life sciences has received significant attention.  Reproducibility of behavioural experiments may be affected by many factors, such as lack of standardisation of experimental conditions or human errors.  While use of standardized systems for automated phenotyping (such as _IntelliCage_) leads to interlaboratory replicability of experiments (1), manual analysis of the obtained data still remains a potential source of irreproducibility due to human errors.  Luckily, a countermeasurement for that issue is known for more than least twenty years: automation of data analysis with a non-interactive computer program (2).\n\nTo facilitate development of Python programs for automated analysis of mice behavioural data obtained from IntelliCage system _PyMICE_ library (RRID:nlx\\_158570) has been developed.  The title paper is the publication presenting the library to the scientific community (3).  As it has been written according to literate programming paradigm (4), all programs used for analysing the experimental data are embedded in [the source code of the paper itself](https://github.com/Neuroinflab/PyMICE_SM/) which makes the presented results highly reproducible and the methodology of analysis transparent.\n\n\n# Authors\n\n* Jakub M. Dzik,\n* Alicja Pu\u015bcian,\n* Zofia Mijakowska,\n* Kasia Radwanska,\n* Szymon \u0141\u0119ski\n\n\n# Bibliography\n\n1. A. Codita, A. H. Mohammed, A. Willuweit, A. Reichelt, E. Alleva, I. Branchi, F. Cirulli, G. Colacicco, V. Voikar, D. P. Wolfer, F. J. U. Buschmann, H.-P. Lipp, E. Vannoni, S. Krackow (2012)\n   Effects of Spatial and Cognitive Enrichment on Activity Pattern and Learning Performance in Three Strains of Mice in the IntelliMaze.\n   Behavior Genetics [doi:10.1007/s10519-011-9512-z](https://dx.doi.org/10.1007/s10519-011-9512-z)\n2. J. B. Buckheit, D. L. Donoho (1995)\n   WaveLab and Reproducible Research. Lecture Notes in Statistics.\n   [doi:10.1007/978-1-4612-2544-7\\_5](https://dx.doi.org/10.1007/978-1-4612-2544-7\\_5)\n3. J. M. Dzik, A. Pu\u015bcian, Z. Mijakowska, K. Radwanska, S. \u0141\u0119ski (2017)\n   PyMICE: A Python library for analysis of IntelliCage data.\n   Behavior Research Methods. [doi:10.3758/s13428-017-0907-5](https://dx.doi.org/10.3758/s13428-017-0907-5)\n4. D. E. Knuth (1984) Literate Programming.\n   The Computer Journal. [doi:10.1093/comjnl/27.2.97](https://dx.doi.org/10.1093/comjnl/27.2.97)\n\n\n# Acknowledgement\n\nProject funded from the Polish National Science Centre's SYMFONIA (2013/08/W/NZ4/00691) grant.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3XH3MM", "name": "Jakub M. Dzik", "avatar": "https://pretalx.com/media/avatars/3XH3MM_J97b3N2.webp", "biography": "Since 2011 I am a Scientific Programmer in Laboratory of Neuroinformatics (Nencki Institute).\n\n#Education\n\n* MSc in Computer Science (2011; University of Wroclaw)\n* PhD in Neuroinformatics (2019; Nancki Institute)", "public_name": "Jakub M. Dzik", "guid": "8e7accb2-af4f-524c-a657-73dba254858a", "url": "https://pretalx.com/euroscipy-2019/speaker/3XH3MM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/HUPE99/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/HUPE99/", "attachments": []}, {"guid": "e921c0cb-75c4-58ca-801f-551e7a693206", "code": "FZTEQ9", "id": 1444, "logo": null, "date": "2019-09-04T14:50:00+00:00", "start": "14:50", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-1444-kesi-a-kernel-based-method-for-reconstruction-of-sources-of-brain-electric-activity-in-realistic-brain-geometries", "url": "https://pretalx.com/euroscipy-2019/talk/FZTEQ9/", "title": "kESI - a kernel-based method for reconstruction of sources of brain electric activity in realistic brain geometries", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "_kESI_ is a new Python package for kernel-based reconstruction of brain electric activity from recorded electric field potentials using realistic assumptions about brain geometry and conductivity.", "description": "Epilepsy affects around 50 million people worldwide (1).\n30% of epilepsy cases are drug-resistant and surgical removal of the the neural tissue generating seizures (epileptogenic) may be the only way to prevent seizures.  When removing the epileptogenic tissue it is crucial to minimize the lesioned area, because removing too much of the brain may lead to serious impairment of its function.\n\nTo identify the epileptogenic zone, neurosurgeon typically implants electrode on the cortex (ECoG) or deep in the brain (SEEG).  The measured potentials are used as indicators localizing the epileptic source.  We argue that reconstruced source of this brain activity are better predictors of areas for resection.  Here we present a method - kernel Electrical Source Imaging (kESI) - and its Python implementation which allow reconstruction of current sources taking into account the actual geometry of the patient's brain and the conductivity distribution.  This method extends the _kernel Current Source Density_ (kCSD) method (3, 4) to realistic geometries and complex conductivity models.\n\nIn the poster we present our most recent results in development of Python tools for reconstruction of brain activity and the progress report of kESI development.\n\n\n# Authors\n\n* Marta Kowalska,\n* Jakub M. Dzik,\n* Chaitanya Chintaluri,\n* Daniel K. W\u00f3jcik\n\n\n# Bibliography\n\n1. World Health Organization, _Epilepsy_, available at: <https://www.who.int/news-room/fact-sheets/detail/epilepsy>\n2. Pitts, W. H. (1952), _Investigations on synaptic transmission_, in 'Cybernetics, Trans. 9th Conf. Josiah Macy Foundation H. von Foerster', pp. 159-166.\n3. Potworowski, J., Jakuczun, W., \u0141\u0119ski, S. & W\u00f3jcik, D. (2012) _Kernel current source density method_. Neural Comput 24(2), 541-575.\n4. _Kernel Current Source Density_ <https://github.com/Neuroinflab/kCSD-python>\n\n\n# Acknowledgement\n\nProject funded from the Polish National Science Centre's OPUS grant (2015/17/B/ST7/04123).", "recording_license": "", "do_not_record": false, "persons": [{"code": "APW3XT", "name": "Marta Kowalska", "avatar": "https://pretalx.com/media/avatars/APW3XT_QI2iHnY.webp", "biography": "I am a PhD student at the Laboratory of Neuroinformatics at Nencki Institute of Experimental Biology. I work with methods for current source density reconstruction in a brain tissue.", "public_name": "Marta Kowalska", "guid": "ad99911d-8106-540d-a8cc-26f8849b3313", "url": "https://pretalx.com/euroscipy-2019/speaker/APW3XT/"}, {"code": "3XH3MM", "name": "Jakub M. Dzik", "avatar": "https://pretalx.com/media/avatars/3XH3MM_J97b3N2.webp", "biography": "Since 2011 I am a Scientific Programmer in Laboratory of Neuroinformatics (Nencki Institute).\n\n#Education\n\n* MSc in Computer Science (2011; University of Wroclaw)\n* PhD in Neuroinformatics (2019; Nancki Institute)", "public_name": "Jakub M. Dzik", "guid": "8e7accb2-af4f-524c-a657-73dba254858a", "url": "https://pretalx.com/euroscipy-2019/speaker/3XH3MM/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/FZTEQ9/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/FZTEQ9/", "attachments": []}, {"guid": "2cd3115e-8d80-56dd-8c78-7dc337a2baaf", "code": "CW97MN", "id": 1416, "logo": null, "date": "2019-09-04T16:25:00+00:00", "start": "16:25", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-1416-from-modeler-to-programmer", "url": "https://pretalx.com/euroscipy-2019/talk/CW97MN/", "title": "From Modeler to Programmer", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "The modeling system ueflow allows for customable, dynamic boundary conditions.\nThe modeler can write Python plugins to implement the behavior of these boundary conditions.", "description": "Boundary conditions are essential for groundwater models.\nThe user can specify values for these boundary conditions such as a well\nat a certain location with a given pumping rate for a specified duration.\nFor some special applications, however, the specified values may further\ndepend on internal model conditions.\nFor example, the flow rate of an infiltration well that re-infiltrates water is equal to\nthe pumping rate of the extraction well.\nThis can be useful for geothermal applications within groundwater bodies.\nThe newly developed model, ueflow, allows the user to implement such a scheme by writing a plugin.\nIn addition to just using the pumping rate as infiltration rate, the user can incorporate\nother constrains such as energy costs for pumping, capacities of water treatment facilities,\nmaintenance schedules for pumps based on pumping regimes, or other technical constrains.\n\nThe poster gives a short overview of ueflow that is based on the finite volume model framework\nFiPy (Guyer et al. 2009).\nFiPy is implemented in Python and offers multiple, high-performance solvers as well as\nseveral tools for generating grids and other input data.\n\n\n\nGuyer, J. E., Wheeler, D., Warren, J. A. (2009). FiPy: Partial Differential Equations with Python. Computing in Science & Engineering 11(3) pp. 6\u201415 (2009), doi:10.1109/MCSE.2009.52, http://www.ctcms.nist.gov/fipy", "recording_license": "", "do_not_record": false, "persons": [{"code": "QWPUQW", "name": "Mike M\u00fcller", "avatar": null, "biography": "CEO of hydrocomputing.", "public_name": "Mike M\u00fcller", "guid": "80b652a3-0f8b-5119-a884-69bc8bf51050", "url": "https://pretalx.com/euroscipy-2019/speaker/QWPUQW/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/CW97MN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/CW97MN/", "attachments": []}, {"guid": "8c6d1a42-cd39-504f-b35e-46a9ae1d61a7", "code": "LWHPHN", "id": 1441, "logo": null, "date": "2019-09-04T18:00:00+00:00", "start": "18:00", "duration": "01:30", "room": "Posters at 16:00", "slug": "euroscipy-2019-1441-mne-python-a-toolkit-for-neurophysiological-data", "url": "https://pretalx.com/euroscipy-2019/talk/LWHPHN/", "title": "MNE-Python, a toolkit for neurophysiological data", "subtitle": "", "track": null, "type": "Poster", "language": "en", "abstract": "A summary of the MNE-Python changes introduced during the two last releases and highlights for future directions.", "description": "MNE-Python software is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DQYNNA", "name": "Joan Massich", "avatar": null, "biography": "I am a research engineer in the Parietal team at INRIA-Saclay working on human neuro-physiological data and machine learning. Contributing to open-source projects like: MNE-Python, OpenMEEG, scikit-learn, and others.\n\nI obtained my PhD in computer vision applied to medical imaging, jointly from the Universitat de Girona and the Universite de Bourgogne France-Comte in 2013. After my PhD, and before coming to Parietal as an engineer, I was a postdoctoral fellow and teaching assistant at Universite de Bourgogne France-Comte.\n\nI enjoy following technology trends, learning new skills, and sharing them. I also care about pedagogy and education as I strongly believe that any skill can be acquired by anyone with ease if transferred properly. This is why I have been involved in organizing pedagogical activities such as underwater robotics workshops for kids and enthusiasts, First LEGO League competitions, and lately software carpentry workshops.", "public_name": "Joan Massich", "guid": "ab0a0e15-0449-563a-b951-172678fa99eb", "url": "https://pretalx.com/euroscipy-2019/speaker/DQYNNA/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/LWHPHN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/LWHPHN/", "attachments": []}]}}, {"index": 4, "date": "2019-09-05", "day_start": "2019-09-05T04:00:00+00:00", "day_end": "2019-09-06T03:59:00+00:00", "rooms": {"Track 1 (Mitxelena)": [{"guid": "0e9eb8f3-0ef5-5a80-a0b6-bde2d2af1de0", "code": "PRGASS", "id": 2636, "logo": null, "date": "2019-09-05T09:15:00+00:00", "start": "09:15", "duration": "00:45", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2636-hpc-and-python-intel-s-work-in-enabling-the-scientific-computing-community", "url": "https://pretalx.com/euroscipy-2019/talk/PRGASS/", "title": "HPC and Python: Intel\u2019s work in enabling the scientific computing community", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "High Performance Computing (HPC) has been a pillar of the scientific community for years, with many in the Python community contributing to its continued development.  However, one of the fundamental links in performance is the relationship between h", "description": "High Performance Computing (HPC) has been a pillar of the scientific community for years, with many in the Python community contributing to its continued development.  However, one of the fundamental links in performance is the relationship between hardware and software.  \n \nIntel is hard at work on the Intel\u00ae Distribution for Python*, producing optimized packages and upstreaming changes to open source that help take advantage of current and future Intel\u00ae Architecture, and hardware that is purpose built to target HPC, Machine Learning, and AI workloads. \n \nGetting the performance out of these workloads has been a challenging journey, one in which good lessons and learnings were made.  From Intel\u2019s Python community contributions to the new architectures Intel created for a generation of more accessible scientific compute, Intel\u2019s work continues on delivering more approachable HPC in Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "38MMCZ", "name": "David Liu", "avatar": null, "biography": null, "public_name": "David Liu", "guid": "97b884b1-91b7-50ad-9c1f-c2b8aa5c2f47", "url": "https://pretalx.com/euroscipy-2019/speaker/38MMCZ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/PRGASS/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/PRGASS/", "attachments": []}, {"guid": "aec33a15-8ee3-55b9-9667-304bb6f5bc86", "code": "R3TJLP", "id": 1162, "logo": null, "date": "2019-09-05T10:30:00+00:00", "start": "10:30", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1162-inside-numpy-preparing-for-the-next-decade", "url": "https://pretalx.com/euroscipy-2019/talk/R3TJLP/", "title": "Inside NumPy: preparing for the next decade", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Over the past year, and for the first time since its creation, NumPy has been operating with dedicated funding. NumPy developers think it has invigorated the project and its community. But is that true, and how can we know?", "description": "Over the past year, and for the first time since its creation, NumPy has been operating with dedicated funding. NumPy developers think it has invigorated the project and its community. But is that true, and how can we know?\n\nWe will give an overview of the actions we\u2019ve taken, both successful and unsuccessful, to improve sustainability of the NumPy project and its community. We will draw some lessons from a first year of grant-funded activity, discuss key obstacles faced, attempt to quantify what we need to operate sustainably, and present a vision for the project and how we plan to realize it.\nTopics we will cover include the following:\n- Invigorating the community - what did we do, and are we correct in our opinion that it invigorated the community?\n  - doing things in the open as much as possible\n  - creating a roadmap\n  - NumPy Enhancement Proposal process\n  - commit rights\n  - in-person meetings\n\n- Measuring community/project health. We will use a number of published or proposed metrics to quantify this. Which ones do we think accurately represent the state of the project?\n- Lessons from the first grant and introducing paid work into a previously fully volunteer-driven project.\n  - What is the best profile for a salaried employee?\n    - Social profile\n    - From inside or outside?\n  - Have we succeeded in encouragin diversity?\n\n- A vision for future sustainabity\n  - Models for obtaining and funneling funding", "recording_license": "", "do_not_record": false, "persons": [{"code": "UZVQTV", "name": "Matti Picus", "avatar": null, "biography": "Matti is a core developer of [PyPy](https://www.pypy.org), contributing to the internal numpy implementation _micronumpy and to the layer that allows python c-extension modules to run on the PyPy python interpreter. He has been active in the open source community both as a contributor, teacher, and presenter at conferences. Since April 2018, he works full-time developing [NumPy](http://www.numpy.org/), employed by [BIDS](https://bids.berkeley.edu/people/matti-picus)", "public_name": "Matti Picus", "guid": "ccadd170-5fb4-5dc1-be28-58acebb75b38", "url": "https://pretalx.com/euroscipy-2019/speaker/UZVQTV/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/R3TJLP/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/R3TJLP/", "attachments": []}, {"guid": "0f32c765-33d6-5844-b2ef-b033ae070854", "code": "3LXMC8", "id": 2749, "logo": null, "date": "2019-09-05T11:00:00+00:00", "start": "11:00", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2749-deep-learning-without-a-phd", "url": "https://pretalx.com/euroscipy-2019/talk/3LXMC8/", "title": "Deep Learning without a PhD", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "In this talk, you'll learn how to transition from traditional machine learning tools, like scikit-learn, to deep learning with Keras, TensorFlow, and JAX. No prior experience with machine learning or with deep learning required, and no need to instal", "description": "In this talk, you'll learn how to transition from traditional machine learning tools, like scikit-learn, to deep learning with Keras, TensorFlow, and JAX. No prior experience with machine learning or with deep learning required, and no need to install anything to follow along - all examples will be run on Google Colab.", "recording_license": "", "do_not_record": false, "persons": [{"code": "MKKMBE", "name": "Paige Bailey", "avatar": null, "biography": null, "public_name": "Paige Bailey", "guid": "eee4ead3-5828-5725-8d65-535406672c44", "url": "https://pretalx.com/euroscipy-2019/speaker/MKKMBE/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/3LXMC8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/3LXMC8/", "attachments": []}, {"guid": "d64c4ee5-ab39-50f3-907d-abb08ec16090", "code": "QGZTDZ", "id": 1400, "logo": null, "date": "2019-09-05T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1400-the-magic-of-neural-embeddings-with-tensorflow-2", "url": "https://pretalx.com/euroscipy-2019/talk/QGZTDZ/", "title": "The Magic of Neural Embeddings with TensorFlow 2", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Neural Embeddings are a powerful tool of turning categorical into numerical values. Given reasonable training data semantics present in the categories can be preserved in the numerical representation.", "description": "Symbols, words, categories etc. need to be converted into numbers before they can be processed by neural networks or used into other ML methods like clustering or outlier detection. \n\nIt is desirable to have the converted numbers represent semantics of the encoded categories. That means, numbers close to each other indicate similar semantics.\n\nIn this session you will learn what you need to train a neural network for such embeddings. I will bring a complete example including code that I will share using TensorFlow 2 functional API and the Colab service. \n\nI will also share some tricks how to stabilize embeddings when either the model changes or you get more training data.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YMNMWY", "name": "Oliver Zeigermann", "avatar": "https://pretalx.com/media/avatars/YMNMWY_6YB5QLM.webp", "biography": "Oliver Zeigermann is a developer and consultant from Hamburg, Germany. He has written several books and has recently published the \"Deep Learning Crash Course\" with Manning. More on http://zeigermann.eu/", "public_name": "Oliver Zeigermann", "guid": "18831741-248e-5241-8074-0115f296ec8c", "url": "https://pretalx.com/euroscipy-2019/speaker/YMNMWY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/QGZTDZ/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/QGZTDZ/", "attachments": []}, {"guid": "c3ab7738-962e-5fca-86b9-0b6ac6f5e6aa", "code": "SKNH3X", "id": 2541, "logo": null, "date": "2019-09-05T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2541-high-quality-video-experience-using-deep-neural-networks", "url": "https://pretalx.com/euroscipy-2019/talk/SKNH3X/", "title": "High quality video experience using deep neural networks", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Video compression algorithms used to stream videos are lossy, and when compression rates increase they result in strong degradation of visual quality. We show how deep neural networks can eliminate compression artefacts and restore lost details.", "description": "Video compression algorithms result in a reduction of image quality, because of their lossy approach to reduce the required bandwidth. This affects commercial streaming services such as Netflix, or Amazon Prime Video, but affects also video conferencing and video surveillance systems. In all these cases it is possible to improve the video quality, both for human view and for automatic video analysis, without changing the compression pipeline, through a post-processing that eliminates the visual artefacts created by the compression algorithms. In this presentation we show how deep convolutional neural networks implemented in Python using TensorFlow, Scikit-Learn and Scipy can be used to reduce compression artefacts and reconstruct missing high frequency details that were eliminated by the compression algorithm.\n\nIn particular, we follow an approach based on Generative Adversarial Networks, that in the scientific literature have obtained extremely high quality results in image enhancement tasks. However, to obtain these results, typically, large generators are employed, resulting in high computational costs and processing time, and thus the method can be implemented using GPUs usually available only on desktop machines.\nIn this presentation we show also an architecture that can be used to reduce the computational cost and that can be implemented also on mobile devices. \n\nA possible application is to improve video conferencing, or live streaming. Since in these cases there is no original uncompressed video stream available, we report results using no-reference video quality metric showing high naturalness and quality even for efficient networks.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PFHTQ8", "name": "Marco Bertini", "avatar": null, "biography": null, "public_name": "Marco Bertini", "guid": "e90a8403-a3a0-5f19-b68e-b94e56fb3220", "url": "https://pretalx.com/euroscipy-2019/speaker/PFHTQ8/"}, {"code": "KWBFEL", "name": "Tiberio Uricchio", "avatar": null, "biography": null, "public_name": "Tiberio Uricchio", "guid": "24a2688f-464e-532e-8c3e-d8320a982268", "url": "https://pretalx.com/euroscipy-2019/speaker/KWBFEL/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/SKNH3X/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/SKNH3X/", "attachments": []}, {"guid": "2e44d67f-2623-5037-9aa4-d6fcb2f9ca2a", "code": "GLSVQA", "id": 2638, "logo": null, "date": "2019-09-05T14:00:00+00:00", "start": "14:00", "duration": "00:45", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-2638-in-the-shadow-of-the-black-hole", "url": "https://pretalx.com/euroscipy-2019/talk/GLSVQA/", "title": "In the Shadow of the Black Hole", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "I will walk through the entire Event Horizon Telescope experiment and the global effort that led to the first-ever direct image of a black hole revealed to the world on April 10th of this year.", "description": "The Event Horizon Telescope (EHT) is a global network of millimeter-wavelength radio telescopes that uses Very Long Baseline Interferometry (VLBI) to synthesize the resolution of a single, Earth-sized telescope. In April 2017 the EHT observed the black hole at the center of the giant galaxy M87. Turning these observations into an image required the development of new software tools across the global EHT collaboration, and relied on a wealth of open-source software made available to the broader scientific community. In this talk, I will walk through the entire EHT experiment from the individual telescopes that record the data through the calibration, imaging, and interpretation of the observations that lead to the first-ever direct image of a black hole released to the world on April 10th of this year.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3GR9NW", "name": "Sara Issaoun", "avatar": null, "biography": null, "public_name": "Sara Issaoun", "guid": "f632d9ea-2419-5fe8-87b8-fcf15f321738", "url": "https://pretalx.com/euroscipy-2019/speaker/3GR9NW/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/GLSVQA/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/GLSVQA/", "attachments": []}, {"guid": "0b9d7c0a-a6a4-5656-a5db-d1b1a4159462", "code": "SKAH3U", "id": 1132, "logo": null, "date": "2019-09-05T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1132-a-practical-guide-towards-algorithmic-bias-and-explainability-in-machine-learning", "url": "https://pretalx.com/euroscipy-2019/talk/SKAH3U/", "title": "A practical guide towards algorithmic bias and explainability in machine learning", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Undesired bias in machine learning has become a worrying topic due to the numerous high profile incidents. In this talk we demystify machine learning bias through a hands-on example. We'll be tasked to automate the loan approval process for a company", "description": "Undesired bias in machine learning has become a worrying topic due to the numerous high profile incidents that have been covered by the media. It is certainly a challenging topic, as it could even be said that the concept of societal bias is inherently biased in itself depending on an individual\u2019s (or group\u2019s) perspective. In this talk we avoid re-inventing the wheel, instead we use traditional methods to simplify this issue so it can be tackled from a practical perspective.\n\n# Content\nIn this talk we will cover the high level definitions of bias in machine learning to remove ambiguity, and we will demistify it through a hands on example. Our objective will be to automate the loan approval process for a company using machine learning. This will allow us to go through this challenge step by step, using key tools and techniques from latest research that will allow us to assess and mitigate undesired bias in our machine learning models.\n\n# Definitions \nWe will begin by providing a high level definition of undesired bias as two constituent parts: \u201ca-priori societal bias\u201d and \u201ca-posteriori statistical bias\u201d. We will provide tangible examples of how undesired bias is introduced in each step. This initial section will introduce very interesting research findings in this topic. Spolier alert: We will take a pragmatic approach, showing how any non-trivial system will always have an inherent bias, so the objective is not to remove bias, but to make sure 1) you can get as close as possible to your objectives, and 2) you can make sure your objectives are as close as possible to the \u201cideal solution\u201d.\n\n# Process\nIn this talk we introduce a pragmatic process to assess bias in machine learning models through three key steps: 1) Data analysis, 2) Inference result analysis, and 3) Production metrics analysis. For each of these three steps we will walk through a real life example. We will be tasked with the automation of a loan approval process. We will show how some bias may affect our results in a negative way, as well as how we can use various techniques to ensure we perform a reasonable analysis. Our objective is not to show how to completely remove bias from a machine learning model, but instead what are the tools and techniques available, as well as the key touch-points & metrics to ensure the right domain experts are involved.\n\n# Topics covered\nWe will cover fundamental topics in data science such as feature importance analysis, class imbalance assessment, model evaluation metrics, partial dependence, feature correlation, etc. More importantly, we will cover how these fundamentals can interact at different touch-points with the right domain experts to ensure undesired bias is identified and documented. All will be covered with a hands on example through a practical jupyter notebook experience.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HEZDEY", "name": "Alejandro Saucedo", "avatar": "https://pretalx.com/media/avatars/HEZDEY_iPec9Dd.webp", "biography": "Alejandro is currently leading the research and development at the Institute for Ethical AI & Machine Learning as their Chief Scientist. With over 10 years of software development experience Alejandro has held technical leadership positions across hyper-growth scale-ups and tech giants including Eigen Tchnologies, Bloomberg LP and Hack Partners. Alejandro has a strong track record building departments of machine learning engineers from scratch, and leading the delivery of large-scale machine learning system across the financial, insurance, legal, transport, manufacturing and construction sectors (in Europe, US and Latin America). Alejandro has given multiple talks at international scientific, technical and business conferences, and has chaired panels & events with government ministers, senior executives and domain experts.", "public_name": "Alejandro Saucedo", "guid": "9c0b4015-7ac5-5c79-a0a4-e12e93d4ea28", "url": "https://pretalx.com/euroscipy-2019/speaker/HEZDEY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/SKAH3U/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/SKAH3U/", "attachments": []}, {"guid": "19a81e72-81db-5cb1-a071-f9600b114c3d", "code": "HBHY9Q", "id": 1247, "logo": null, "date": "2019-09-05T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1247-tracking-migration-flows-with-geolocated-twitter-data", "url": "https://pretalx.com/euroscipy-2019/talk/HBHY9Q/", "title": "Tracking migration flows with geolocated Twitter data", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Detect migration flows worldwide using geolocated Twitter data: routes, settlement areas, mobility to more than one country, spatial integration in cities, etc.", "description": "Traditionally, migration and refugee flows information is obtained from surveys and border control operatives. Here we propose a method to detect migration flows worldwide using geolocated Twitter data. In particular and as a practical example, we focus on the current migratory crisis in Venezuela. We study if the flows calculated are quantitatively reliable when compared with official numbers at the country level. Our method is versatile and can be used to study different features of migration such as the routes, settlement areas, mobility to more than one country, spatial integration in cities, etc.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ARGGAY", "name": "Ant\u00f2nia Tugores", "avatar": "https://pretalx.com/media/avatars/ARGGAY_ZEEcGpC.webp", "biography": "Mathematician by formation, she spent most of her life developing software. She started collaborating with the creation of an open source game engine and framework in Tragnarion Studios. Later on, she moved to GridSystems and got involved in the development of an open source grid middleware. Some years later, she started working at IFISC (CSIC-UIB), a research institute. First, she was working on a grid project, but she got interested in data mining and now she is a data specialist working on human mobility and social sciences.", "public_name": "Ant\u00f2nia Tugores", "guid": "be2a342e-922c-50af-ad91-e6e323a00021", "url": "https://pretalx.com/euroscipy-2019/speaker/ARGGAY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/HBHY9Q/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/HBHY9Q/", "attachments": []}, {"guid": "570abacc-d1b5-5917-87f4-3a0d74f7fba0", "code": "UQHFD8", "id": 1343, "logo": null, "date": "2019-09-05T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1343-deep-learning-for-understanding-human-multi-modal-behavior", "url": "https://pretalx.com/euroscipy-2019/talk/UQHFD8/", "title": "Deep Learning for Understanding Human Multi-modal Behavior", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Multi-modal sources of information are the next big step for AI. In this talk, I will present the use of deep learning techniques for automated multi-modal applications and some open benchmarks.", "description": "Multimedia automatic learning has drawn attention from companies and governments for a significant number of applications for automated recommendations, classification, and human brain understatement. In recent years, and an increased amount of research has explored using deep neural networks for multimedia related tasks. \nSome government security and surveillance applications are automated detections of illegal and violent behaviors, child pornography and traffic infractions. Companies worldwide are looking for content-based recommendation systems that can personalize clients consumption and interactions by understanding the human perception of memorability, interestingness, attractiveness, aesthetics. For these fields like event detection, multimedia affect and perceptual analysis are turning towards Artificial Neural Networks. In this talk, I will present the theory behind multi-modal fusion using deep learning and some open challenges and their state-of-the-art.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PV7GD7", "name": "Ricardo Manh\u00e3es Savii", "avatar": "https://pretalx.com/media/avatars/PV7GD7_DmxUD0O.webp", "biography": "I am a former hotel manager; nowadays I am a student pursuing degrees as Computer Engineer B.S. and Computer Science M.S. I am a researcher and developer working in the fashion industry with Dafiti Group and Udacity\u2019s reviewer for Machine Learning and Deep Learning Nanodegrees.", "public_name": "Ricardo Manh\u00e3es Savii", "guid": "162fafd1-dfd7-5c8f-ba8f-4ef9ecd8616b", "url": "https://pretalx.com/euroscipy-2019/speaker/PV7GD7/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/UQHFD8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/UQHFD8/", "attachments": []}, {"guid": "d9886f8b-395c-5429-8fb9-772561ba94d8", "code": "VKDH9K", "id": 1451, "logo": null, "date": "2019-09-05T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1451-how-to-process-hyperspectral-data-from-a-prototype-imager-using-python", "url": "https://pretalx.com/euroscipy-2019/talk/VKDH9K/", "title": "How to process hyperspectral data from a prototype imager using Python", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "We present a collection of software for handling hyperspectral data acquisition and preprocessing fully in Python utilising Xarray for metadata preservation from start to finish.", "description": "Our lab specializes in hyperspectral imaging using a spectral imager that combines tunable filters with colour sensors. Compared to simpler, more established imaging systems, this results in some unique challenges for the data processing. Especially, many of the original imaging parameters need to be preserved an d joined with calibration-derived values to actually compute radiance values from the raw sensor data since they are not automatically handled by the hardware. Handling this metadata with the resulting hyperspectral images results in combined datasets of large 3-dimensional datacube, and multiple smaller 2D and 1D arrays with linked dimensions.\n\nWe have built our solution to this problem utilizing Xarray for handling the multiple arrays of data as well as the existing Dask integration for providing easy parallelization for the required preprocessing. Xarray also provides us many other advantages, such as:\n\n * Exploration of very complex multi-dimensional datasets (especially when utilizing holoviews)\n * Interoperability with the scikit ecosystem\n * Serialization to NetCDF preserving all the data in a single file\n\nHowever, our extensive and somewhat non-conventional use of Xarray does also bring out it's shortcomings when trying to develop such a library as ours, such as indexing issues with multiple possible overlapping coordinates and performance issues with complex datasets.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KQCRDQ", "name": "Matti Eskelinen", "avatar": null, "biography": "PhD student working on computational methods for hyperspectral imaging.\n\nLogio @ FreeNode, IRCNet etc.", "public_name": "Matti Eskelinen", "guid": "95360b74-f40f-5ec3-8c66-8f9e1adedbf9", "url": "https://pretalx.com/euroscipy-2019/speaker/KQCRDQ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/VKDH9K/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/VKDH9K/", "attachments": []}, {"guid": "867454d2-f92a-5875-8173-adfb016d370f", "code": "HXH3GN", "id": 1438, "logo": null, "date": "2019-09-05T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 1 (Mitxelena)", "slug": "euroscipy-2019-1438-enhancing-re-designing-the-qgis-user-interface-a-deep-dive", "url": "https://pretalx.com/euroscipy-2019/talk/HXH3GN/", "title": "Enhancing & re-designing the QGIS user interface \u2013 a deep dive", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "How can one of the largest code bases in open source Geographical Information Science \u2013 QGIS \u2013 be enhanced and re-designed? Through the powers of Python plugins. This talk demonstrates concepts on how to make QGIS more user-friendly.", "description": "Having been around for two decades, QGIS clearly is an organically grown project. It has primarily been fulfilling the various special needs of its developers. From an outsider's perspective, it is an amazingly rich patchwork of features. However, some are deeply hidden in numerous layers of user interface elements, requiring intense training for getting used to. Others are only accessibly through APIs, requiring not only training but also programming skills.\n\nBeing confronted with QGIS as professional users on a regular basis, we thought about what would make working with QGIS more attractive. What if QGIS has a pleasant, coherent theme, including not only colors but also icons? What if QGIS had the ability to store workbench configurations? What if QGIS had dedicated interface configurations for specific workflows? What if much more of the API's functionality was accessible through the GUI in a well-organized way? How could QGIS work in a useful manner with ribbons? How could the incredible amount of dialogs be tamed into tabs? \n\nWe demonstrate (live) a series of user interface experiments \u2013 all of which are or will be [available online](https://github.com/qgist) as Python plugins. \n\nIn this context, the current state of play with respect to Python and QGIS is explained in detail. The way QGIS is typically being distributed puts quite a few unusual limitations on Python plugin code. The case is made that some of those limitations are simply out of date and must be overcome, which may require help from the broader (scientific) Python community. \n\nWe seek a conversation with the audience.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JNFFHN", "name": "Sebastian M. Ernst", "avatar": "https://pretalx.com/media/avatars/JNFFHN_juwSHgn.webp", "biography": "I am a free [scientist without specialization](http://www.pleiszenburg.de/?pda#retrospect). I have more than one and a half decades of experience in various scientific disciplines, related data analysis & computing from embedded systems to super computers as well as the development of instrumentation (hardware & sensors). A lot of my work has evolved around geophysics, [aero-] space engineering and (many) related disciplines. It can be broadly described as data science with strong ties to the mentioned domains. Python has been a critical part of my work for more than twelve years.", "public_name": "Sebastian M. Ernst", "guid": "f1d0a51c-36e2-5a33-aa6d-feed2a83f992", "url": "https://pretalx.com/euroscipy-2019/speaker/JNFFHN/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/HXH3GN/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/HXH3GN/", "attachments": []}], "Track 2 (Baroja)": [{"guid": "db2e6e6c-ff39-53cf-a455-24d7739cf99c", "code": "D7WAFW", "id": 1286, "logo": null, "date": "2019-09-05T10:30:00+00:00", "start": "10:30", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1286-visual-diagnostics-at-scale", "url": "https://pretalx.com/euroscipy-2019/talk/D7WAFW/", "title": "Visual Diagnostics at Scale", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "Machine learning is a search for the best combination of features, model, and hyperparameters. But as data grow, so does the search space! Fortunately, visual diagnostics can focus our search and allow us to steer modeling purposefully, and at scale.", "description": "Even with a modestly-sized dataset, the hunt for the most effective machine learning model is *hard*. Arriving at the optimal combination of features, algorithm, and hyperparameters frequently requires significant experimentation and iteration. This leads some of us to stay inside algorithmic comfort zones, some to trail off on random walks, and others to resort to automated processes like gridsearch. But whatever path we take, we are often left in doubt about whether our final solution really is the optimal one. And as our datasets grow in size and dimension, so too does this ambiguity.\n\nFortunately, many of us have developed strategies for steering model search. Open source libraries like [seaborn](https://seaborn.pydata.org/), [pandas](https://pandas.pydata.org/) and [yellowbrick](https://www.scikit-yb.org/en/latest/) can help make machine learning more informed with visual diagnostic tools like histograms, correlation matrices, parallel coordinates, manifold embeddings, validation and learning curves, residuals plots, and classification heatmaps. These tools enable us to tune our models with visceral cues that allow us to be more strategic in our choices. Visualizing feature transformations, algorithmic behavior, cross-validation methods, and model performance allows us a peek into the multi-dimensional realm in which our models operate. \n\nHowever, large, high-dimensional datasets can prove particularly difficult to explore. Not only do the majority of people struggle to visualize anything beyond two- or three-dimensional space, many of our favorite open source Python tools are not designed to be performant with arbitrarily big data. So how well *do* our favorite visualization techniques hold up to large, complex datasets? \n\nIn this talk, we'll consider a suite of visual diagnostics &mdash; some familiar and some new &mdash; and explore their strengths and weaknesses with several publicly available datasets of varying size. Which suffer most from the curse of dimensionality in face of increasingly big data? What are the workarounds (e.g. sampling, brushing, filtering, etc.) and when should we use them? And most importantly, how can we continue to steer the machine learning process &mdash; not only purposefully but at scale?", "recording_license": "", "do_not_record": false, "persons": [{"code": "CNDFND", "name": "Dr. Rebecca Bilbro", "avatar": "https://pretalx.com/media/avatars/CNDFND_qXA7i4B.webp", "biography": "Dr. Rebecca Bilbro is a data scientist, Python and Go programmer, teacher, speaker, and author in Washington, DC. She specializes in visual diagnostics for machine learning, from feature analysis to model selection and hyperparameter tuning, and has conducted research on natural language processing, semantic network extraction, entity resolution, and high dimensional information visualization. An active contributor to the open source software community, Rebecca enjoys collaborating with other developers on inclusive projects like Scikit-Yellowbrick - a pure Python visualization package for machine learning that extends scikit-learn and Matplotlib to support model selection and diagnostics. In her spare time, she can often be found either out-of-doors riding bicycles with her family or inside practicing the ukulele. Rebecca earned her doctorate from the University of Illinois, Urbana-Champaign, where her research centered on communication and visualization in engineering.", "public_name": "Dr. Rebecca Bilbro", "guid": "1638d296-3dc6-549a-9228-b9f163895745", "url": "https://pretalx.com/euroscipy-2019/speaker/CNDFND/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/D7WAFW/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/D7WAFW/", "attachments": []}, {"guid": "44fad5a7-8fa3-5113-a61d-ff240fbc8b74", "code": "H3NTLX", "id": 1536, "logo": null, "date": "2019-09-05T11:00:00+00:00", "start": "11:00", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1536-histogram-based-gradient-boosting-in-scikit-learn-0-21", "url": "https://pretalx.com/euroscipy-2019/talk/H3NTLX/", "title": "Histogram-based Gradient Boosting in scikit-learn 0.21", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "In this presentation we will present some recently introduced features of the scikit-learn Machine Learning library with a particular emphasis on the new implementation of Gradient Boosted Trees.", "description": "scikit-learn 0.21 was recently released and this presentation will give an overview its main new features in general and present the new implementation of Gradient Boosted Trees.\n\nGradient Boosted Trees (also known as Gradient Boosting Machines) are very competitive supervised machine learning models especially on tabular data.\n\nScikit-learn offered a traditional implementation of this family of methods for many years. However its computational performance was no longer competitive and was dramatically dominated by specialized state of the art libraries such as XGBoost and LightGBM. The new implementation in version 0.21 uses histograms of binned features to evaluate the tree node spit candidates. This implementation can efficiently leverage multi-core CPUs and is competitive with XGBoost and LightGBM.\n\nWe will also introduce pygbm, a numba-based implementation of gradient boosted trees that was used as prototype for the scikit-learn implementation and compare the numba vs cython developer experience.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NEUMLP", "name": "Olivier Grisel", "avatar": "https://pretalx.com/media/avatars/NEUMLP_RirLVrG.webp", "biography": "Olivier is a Software Engineer at Inria working on scikit-learn and related projects of the Python Data ecosystem.", "public_name": "Olivier Grisel", "guid": "20888933-e3d6-5580-8ff2-1b072174f0f2", "url": "https://pretalx.com/euroscipy-2019/speaker/NEUMLP/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/H3NTLX/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/H3NTLX/", "attachments": []}, {"guid": "ae978bb1-96bc-5573-aded-1b044d90ff49", "code": "EQNGSQ", "id": 1380, "logo": null, "date": "2019-09-05T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1380-recent-advances-in-python-parallel-computing", "url": "https://pretalx.com/euroscipy-2019/talk/EQNGSQ/", "title": "Recent advances in python parallel computing", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "*Modern hardware is multi-core*. It is crucial for Python to provide\nefficient parallelism. This talk exposes the current state and advances\nin Python parallelism, in order to help practitioners and developers take\nbetter decisions on this matter.", "description": "# Parallel computing in Python: Current state and recent advances\n\n*Modern hardware is multi-core*. It is crucial for Python to provide\nhigh-performance parallelism. This talk will expose to both data-scientists and\nlibrary developers the current state of affairs and the recent advances for\nparallel computing with Python. The goal is to help practitioners and\ndevelopers to make better decisions on this matter.\n\nI will first cover how Python can interface with parallelism, from leveraging\nexternal parallelism of C-extensions \u2013especially the BLAS family\u2013 to Python's\nmultiprocessing and multithreading API. I will touch upon use cases, e.g single\nvs multi machine, as well as and pros and cons of the various solutions for\neach use case. Most of these considerations will be backed by benchmarks from\nthe [scikit-learn](https://scikit-learn.org/stable/) machine\nlearning library.\n\nFrom these low-level interfaces emerged higher-level parallel processing\nlibraries, such as concurrent.futures,\n[joblib](https://joblib.readthedocs.io/en/latest/) and\n[loky](https://loky.readthedocs.io/en/latest/) (used by\n[dask](https://dask.org/) and [scikit-learn](https://dask.org/)) These\nlibraries make it easy for Python programmers to use safe and reliable\nparallelism in their code. They can even work in more exotic situations, such\nas interactive sessions, in which Python\u2019s native multiprocessing support tends\nto fail. I will describe their purpose as well as the canonical use-cases they\naddress.\n\nThe last part of this talk will focus on the most recent advances in the Python\nstandard library, addressing one of the principal performance bottlenecks of\nmulti-core/multi-machine processing, which is data communication. We will\npresent a [new\nAPI](https://docs.python.org/3.8/library/multiprocessing.shared_memory.html)\nfor shared-memory management between different Python processes, and\nperformance improvements for the serialization of large Python objects ([PEP\n574](https://www.python.org/dev/peps/pep-0574/), [pickle\nextensions](https://github.com/cloudpipe/cloudpickle)). These performance\nimprovements will be leveraged by distributed data science frameworks such as\ndask, [ray](https://ray.readthedocs.io/en/latest/) and\n[pyspark](https://spark.apache.org/docs/latest/api/python/index.html).", "recording_license": "", "do_not_record": false, "persons": [{"code": "TKZ7QY", "name": "Pierre Glaser", "avatar": "https://pretalx.com/media/avatars/TKZ7QY_iRglZV4.webp", "biography": "Hi! My name is Pierre. I currently work as a research engineer in the Parietal Team at a French research institute called INRIA. You may know my team as we created many machine-learning and scientific computing libraries among which scikit-learn, joblib, nilearn and others. I am currently improving Python's multiprocessing tools across the whole scientific computing ecosystem. I notably contributed to scikit-learn, joblib, numpy, cpython, cloudpickle and many other libraries. You can follow me on twitter (https://twitter.com/PierreGlaser) and github (https://github.com/pierreglaser).", "public_name": "Pierre Glaser", "guid": "3c2ca91c-ae05-5b9b-9d9b-d5e59f78cbe7", "url": "https://pretalx.com/euroscipy-2019/speaker/TKZ7QY/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/EQNGSQ/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/EQNGSQ/", "attachments": []}, {"guid": "aaea6080-0532-5df8-9f72-119fa787c960", "code": "QU88B8", "id": 2675, "logo": null, "date": "2019-09-05T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-2675-data-sciences-in-a-polyglot-world-with-xtensor-and-xframe", "url": "https://pretalx.com/euroscipy-2019/talk/QU88B8/", "title": "Data sciences in a polyglot world with xtensor and xframe", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "The main scientific computing programming languages have different models the main data structures of data science such as dataframes and n-d arrays. In this talk, we present our approach to reconcile the data science tooling in this polyglot world.", "description": "In this presentation, we demonstrate how xtensor can be used to implement numerical methods very efficiently in C++, with a high-level numpy-style API, and expose it to Python, Julia, and R for free. The resulting native extension operates in-place on Python, Julia, and R infrastructures without overhead.\n\nWe then dive into the xframe package, a dataframe project for the C++ programming language, exposing an API very similar to Python's xarray.\n\nFeatures of xtensor and xframe will be demonstrated using the xeus-cling jupyter kernel, enabling interactive use of the C++ programming language in the notebook.", "recording_license": "", "do_not_record": false, "persons": [{"code": "YJNSWT", "name": "Sylvain Corlay", "avatar": "https://pretalx.com/media/avatars/YJNSWT_IBfIKZL.webp", "biography": null, "public_name": "Sylvain Corlay", "guid": "2e610f40-de08-5146-8c12-2dab88759bac", "url": "https://pretalx.com/euroscipy-2019/speaker/YJNSWT/"}, {"code": "DHTCZF", "name": "Wolf Vollprecht", "avatar": null, "biography": null, "public_name": "Wolf Vollprecht", "guid": "22a0f5f8-e02b-5b76-96b3-7a4cbed8fcde", "url": "https://pretalx.com/euroscipy-2019/speaker/DHTCZF/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/QU88B8/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/QU88B8/", "attachments": []}, {"guid": "b6a4281a-6988-5b76-82c5-f1b9811d1783", "code": "EDNVGJ", "id": 1418, "logo": null, "date": "2019-09-05T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1418-understanding-numba", "url": "https://pretalx.com/euroscipy-2019/talk/EDNVGJ/", "title": "Understanding Numba", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "In this talk I will take you on a whirlwind tour of Numba and you will be quipped with a mental model of how Numba works and what it is good at. At the end, you will be able to decide if Numba could be useful for you.", "description": "In this talk I will take you on a whirlwind tour of Numba, the just-in-time,\ntype-specializing, function compiler for accelerating numerically-focused\nPython. Numba can compile the computationally intensive functions of your\nnumerical programs and libraries from Python/NumPy to highly optimized binary\ncode. It does this by inferring the data types used inside these functions and\nuses that information to generate code that is specific to those data types\nand specialised for your target hardware.  On top of that, it does all of this\non-the-fly---or just-in-time---as your program runs. This significantly reduces\nthe potential complexity that traditionally comes with pre-compiling and\nshipping numerical code for a variety of operating systems, Python versions and\nhardware architectures. All you need in principle, is to `conda install numba`\nand decorate your compute intensive functions with `@nuba.jit`!\n\nThis talk will equip you with a mental model of how Numba is implemented and\nhow it works at the algorithmic level. You will gain a  deeper understanding of\nthe types of use-cases where Numba excels and why. Also, you will understand\nthe limitations and caveats that exist within Numba, including any potential\nideas and strategies that might alleviate these. At the end of the talk you\nwill be in a good position to decide if Numba is for you and you will have\nlearnt about the concrete steps you need to take to include it as a dependency\nin your program or library.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LFHYZA", "name": "Emergency Self-Constuct", "avatar": "https://pretalx.com/media/avatars/LFHYZA_V3jCIDd.webp", "biography": "Valentin is a long-time \"Python for Data\" user and developer who still\nremembers hearing Travis Oliphant's keynote at the EuroScipy 2007. This was\nduring a time where he first became aware of the nascent scientific Python\nstack. He started using Python for simple modeling of spiking neurons and\nevaluation of data from perception experiments during his Masters degree in\ncomputational neuroscience. Since then he has been active as a contributor\nacross more than 75 open source projects. For example, within the Blosc\necosystem where he still maintains and contributes to Python-Blosc and\nBloscpack.  Furthermore, he has acquired significant experience as a Git\ntrainer and consultant and had published the first German language book about\nthe topic in 2011. In 2014 and 2015 he helped kickstart the PyData Berlin\ncommunity alongside a few other volunteers and co-organized the first two\neditions of the PyData Berlin Conference. He now works for Anaconda as a\nsoftware engineer / open source developer on the Numba project.", "public_name": "Emergency Self-Constuct", "guid": "85c4403b-c887-5dc4-a382-50fc3e7ab873", "url": "https://pretalx.com/euroscipy-2019/speaker/LFHYZA/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/EDNVGJ/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/EDNVGJ/", "attachments": []}, {"guid": "00382bd2-c99d-531b-b064-14f6d08073b6", "code": "ULT3M7", "id": 1825, "logo": null, "date": "2019-09-05T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1825-pypy-meets-scipy", "url": "https://pretalx.com/euroscipy-2019/talk/ULT3M7/", "title": "PyPy meets SciPy", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "PyPy, the fast and compliant alternative implementation of Python, is now compatible with the SciPy ecosystem. We'll explore how scientific programmers can use it.", "description": "PyPy is a fast and compliant implementation of Python. In other words, it's an interpreter for the Python language that can act as a full replacement for the reference interpreter, CPython. It's optimised to enable efficient just-in-time compilation of Python code to machine code, and has releases matching versions 2.7, and 3.6. It now also supports the main pillars of the scientific ecosystem (numpy, Cython, scipy, pandas, ...) thanks to its emulation layer for the C API of CPython.\n\nPerformance is a major concern for Python programmers. When using CPython, this leads to splitting out the performance-sensitive parts of the computation and rewriting them in a faster, but less convenient, language such as C or Cython. With PyPy, there is no need to choose between clear, Pythonic code and good performance. This talk aims to convince the audience that PyPy should be part of every scientific programmer's toolbox.", "recording_license": "", "do_not_record": false, "persons": [{"code": "T8FUFL", "name": "Ronan Lamy", "avatar": "https://pretalx.com/media/avatars/T8FUFL_Miyknvq.webp", "biography": "I'm an open-source developer and consultant. I've been working on PyPy since 2012, with particular focus on the RPython annotator, Python 3 features, and cpyext.", "public_name": "Ronan Lamy", "guid": "b321afff-4ce6-5483-a3b0-4d147ff5f699", "url": "https://pretalx.com/euroscipy-2019/speaker/T8FUFL/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/ULT3M7/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/ULT3M7/", "attachments": []}, {"guid": "033398cc-bb11-5b7f-9275-c0de33a1553a", "code": "SUFHZT", "id": 1413, "logo": null, "date": "2019-09-05T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1413-high-performance-machine-learning-with-dislib", "url": "https://pretalx.com/euroscipy-2019/talk/SUFHZT/", "title": "High performance machine learning with dislib", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This talk will present dislib, a distributed machine learning library built on top of PyCOMPSs programming model. One of the main focuses of dislib is solving large-scale scientific problems on high performance computing clusters.", "description": "PyCOMPSs is a distributed programming model and runtime for Python. PyCOMPSs' main goal is to make distributed computing accessible to non-expert developers by providing a simple programming model, and a runtime that automates many aspects of the parallel execution. In addition to this, PyCOMPSs is infrastructure agnostic, and can run on top of a wide range of platforms, from HPC clusters to clouds, and from GPUs to FPGAs.\n\nThis talk will present dislib, a distributed machine learning library built on top of PyCOMPSs. Inspired by scikit-learn, dislib programming interface is based on the concept of *estimators*. This provides a clean and easy-to-use API that highly increases the productivity of building large-scale machine learning pipelines. Thanks to PyCOMPSs, dislib can run in multiple distributed platforms without changes in the source code, and can handle up to billions of input samples using thousands of CPU cores. This makes dislib a perfect tool for scientists (and other users) that are not machine learning experts, but that still want to extract useful knowledge from extremely large data sets.", "recording_license": "", "do_not_record": false, "persons": [{"code": "VLTEFG", "name": "Javier \u00c1lvarez", "avatar": null, "biography": "Javier \u00c1lvarez is a researcher at the Workflows and Distributed Computing group of the Barcelona Supercomputing Center. His research interests include parallel programming models for distributed infrastructures and large-scale distributed machine learning. Javier received his Ph.D. in computer science from the University of Adelaide in 2018.", "public_name": "Javier \u00c1lvarez", "guid": "50502220-ad08-52ef-ad4f-457bdeba4368", "url": "https://pretalx.com/euroscipy-2019/speaker/VLTEFG/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/SUFHZT/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/SUFHZT/", "attachments": []}, {"guid": "64be42c6-ff6f-5ea8-8a1e-81da68643c43", "code": "WCXYRQ", "id": 1824, "logo": null, "date": "2019-09-05T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1824-can-we-make-python-fast-without-sacrificing-readability-numba-for-astrodynamics", "url": "https://pretalx.com/euroscipy-2019/talk/WCXYRQ/", "title": "Can we make Python fast without sacrificing readability? numba for Astrodynamics", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "There are several solutions to make Python faster, and choosing one is not easy: we would want it to be fast without sacrificing its readability and high-level nature. We tried to do it for an Astrodynamics library using numba. How did it turn out?", "description": "We are lucky there are very diverse solutions to make Python faster that have been in use for a while: from wrapping compiled languages (NumPy), to altering the Python syntax to make it more suitable to compilers (Cython), to using a subset of it which can in turn be accelerated (numba). However, each of these options has a tradeoff, and there is no silver bullet.\n\npoliastro is a library for Astrodynamics written in pure Python. All its core algorithms are accelerated with numba, which allows poliastro to be decently fast while having minimal code complexity and avoid using other languages. \n\nHowever, even though numba is quite mature as a library and most of the Python syntax and NumPy functions are supported, there are still some limitations that affect its usage. In particular, we strive to offer a high-level API with support for physical units and reusable functions which can be passed as arguments, which sometimes require using complex objects or introspective Python behavior which is not available.\n\nIn this talk we will discuss the strategies and workarounds we have developed to overcome these problems, and what advanced numba features we can leverage.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PCVGYT", "name": "Juan Luis Cano Rodr\u00edguez", "avatar": "https://pretalx.com/media/avatars/PCVGYT_qgHlXiL.webp", "biography": "Juan Luis Cano is an Aerospace Engineer based in Barcelona, Spain working as a Software Engineer at Satellogic, where he develops Python tools for geospatial data processing and scheduling algorithms for satellite operations. He also freelances for R&D Aerospace companies and Business schools, and in his spare time he contributes to open source, chairs Python Espa\u00f1a non-profit, rides his bicycle, listens to '70s British Hard Rock, and pursues impossible dreams.", "public_name": "Juan Luis Cano Rodr\u00edguez", "guid": "beba582d-b845-5d43-9ffd-beecc269933f", "url": "https://pretalx.com/euroscipy-2019/speaker/PCVGYT/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/WCXYRQ/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/WCXYRQ/", "attachments": []}, {"guid": "7146d217-7b68-5d03-85fb-7463f28fd09e", "code": "7A3ZQF", "id": 1809, "logo": null, "date": "2019-09-05T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 2 (Baroja)", "slug": "euroscipy-2019-1809-psydac-a-parallel-finite-element-solver-with-automatic-code-generation", "url": "https://pretalx.com/euroscipy-2019/talk/7A3ZQF/", "title": "PSYDAC: a parallel finite element solver with automatic code generation", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "PSYDAC takes input from SymPDE (a SymPy extension for partial differential equations), applies a finite-element discretization, generates MPI-parallel code, and accelerates it with Numba, Pythran, or Pyccel. We present design, usage and performance.", "description": "PSYDAC is a Python 3 library for the solution of partial differential equations. Its current focus is on isogeometric analysis using B-spline finite elements, but extensions to other methodologies are under consideration. In order to use PSYDAC, the user defines geometry and model equations in an abstract form using SymPDE, an extension of Sympy that provides the mathematical expressions and checks their semantic validity. Once a finite element discretization has been chosen, PSYDAC maps the abstract concepts into concrete objects, the basic building blocks being MPI-distributed vectors and matrices. Python code is generated for all the computationally intensive operations (matrix and vector assembly, matrix-vector products, etc.), and it is accelerated using either Numba, Pythran, or Pyccel. We present the library design, the user interface, and the performance results.", "recording_license": "", "do_not_record": false, "persons": [{"code": "PRDZK8", "name": "Yaman G\u00fc\u00e7l\u00fc", "avatar": "https://pretalx.com/media/avatars/PRDZK8_N9hvoOo.webp", "biography": "I am a post-doctoral researcher at the Max Planck Institute for Plasma Physics (IPP) in Garching, Germany, since 2014. I work in the division of Numerical Methods for Plasma Physics, where my research has focused on semi-Lagrangian methods for the gyrokinetic description of strongly magnetized plasmas.\n\nI graduated in Aerospace Engineering at the University of Padova (Italy) in 2007, where I also obtained a Ph.D. in Science, Technologies and Measurements for Space in 2011. From 2011 to 2014, year when I moved to Germany, I was a post-doc at the Department of Mathematics of the Michigan State University (USA).\n\nIn my career Python has always been an invaluable language for fast prototyping of numerical algorithms, as well as for data visualization. The final code was usually written in C, C++, or Fortran.\n\nLately I have been progressively more interested in using Python also for high-performance scientific computing. Together with my colleagues at IPP, in the last few years I investigated how to ease the transition from prototype to production in academic research codes. PSYDAC, our Python parallel environment for spline finite elements, is the product of our recent efforts.", "public_name": "Yaman G\u00fc\u00e7l\u00fc", "guid": "c31ff1d2-703e-58fb-abff-1c49733fcbb4", "url": "https://pretalx.com/euroscipy-2019/speaker/PRDZK8/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/7A3ZQF/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/7A3ZQF/", "attachments": []}], "Track 3 (Oteiza)": [{"guid": "ef745d81-5ca5-583f-9f67-9d4e2f3421a7", "code": "TXQW9H", "id": 1131, "logo": null, "date": "2019-09-05T11:00:00+00:00", "start": "11:00", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1131-exceeding-classical-probabilistic-data-structures-in-data-intensive-applications", "url": "https://pretalx.com/euroscipy-2019/talk/TXQW9H/", "title": "Exceeding Classical: Probabilistic Data Structures in Data Intensive Applications", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "We interact with an increasing amount of data but classical data structures and algorithms can't fit our requirements anymore. This talk is to present the probabilistic algorithms and data structures and describe the main areas of their applications.", "description": "*Nowadays, research in every scientific domain, from medicine to astronomy, is impossible without processing huge amounts of data to check hypotheses, find new relations, and make discoveries. However, the traditional technologies which include data structures and algorithms, become ineffective or require too many resources. This creates a demand for various optimization techniques, new data processing paradigms, and, finally, appropriate algorithms.*\n\nThe presentation is dedicated to *probabilistic data structures*, that is a common name for advanced data structures based mostly on different hashing techniques. Unlike classical ones, these provide approximated answers but with reliable ways to estimate possible errors and uncertainty. They are designed for extremely low memory requirements, constant query time, and scaling, the factors that are essential for data applications. It is hard to imagine a branch that requires learning from data, where they cannot be applicable.\n\nThey are not necessarily new. Probably, everybody knows about the Bloom filter data structure, designed in the 70s, it efficiently solves the problem of performing membership queries (a task to decide whether some element belongs to the dataset or not) in a constant time without requirements to store all elements. This is an example of a probabilistic data structure, but there are much more that have been designed for various tasks in many domains.\n\nIn this talk, I explain **the five most important problems in data processing** that occurred in different domains but **can be efficiently solved with probabilistic data structures and algorithms**. We cover the *membership querying*, *counting* of unique elements, *frequency* and *rank* estimation in data streams, and *similarity*. \n\nEverybody interested in such a topic is welcome to participate in contributing a free and open-source Python (Cython) library called [PDSA](https://github.com/gakhov/pdsa).", "recording_license": "", "do_not_record": false, "persons": [{"code": "3GJQNE", "name": "Andrii Gakhov", "avatar": "https://pretalx.com/media/avatars/3GJQNE_IE62fNr.webp", "biography": "Andrii Gakhov is a mathematician and software engineer holding a Ph.D. in mathematical modeling and numerical methods. He has been a teacher in the School of Computer Science at V. Karazin Kharkiv National University in Ukraine for a number of years and currently works as a software practitioner for ferret go GmbH, the leading community moderation, automation, and analytics company in Germany. His fields of interests include machine learning, stream mining, and data analysis.\n\nThe author of \"Probabilistic Data Structures and Algorithms for Big Data Applications\"  (ISBN: 9783748190486)", "public_name": "Andrii Gakhov", "guid": "c1588859-46bc-5d1b-883c-2f384f5428eb", "url": "https://pretalx.com/euroscipy-2019/speaker/3GJQNE/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/TXQW9H/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/TXQW9H/", "attachments": [{"title": "PDSA in Big Data Ecosystem", "url": "/media/euroscipy-2019/submissions/TXQW9H/resources/PDSA_in_Big_Data.png", "type": "related"}]}, {"guid": "24ac8f1c-2b1b-5b43-a4fc-502a20f31078", "code": "8K7TA9", "id": 1774, "logo": null, "date": "2019-09-05T11:30:00+00:00", "start": "11:30", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1774-driving-a-30m-radio-telescope-with-python", "url": "https://pretalx.com/euroscipy-2019/talk/8K7TA9/", "title": "Driving a 30m Radio Telescope with Python", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "The IRAM 30m radio telescope is one of the best in the world. The telescope control software, monitoring, data archiving as well as some of the data processing code is written in Python. We will describe how and why Python is used at the telescope.", "description": "The IRAM 30m radio telescope is one of the best in the world. It has been in operation non-stop since the mid 80s and is used to observe 24-hours a day, 365 days a year. All of the high-level telescope control software, monitoring, data archiving as well as some of the data processing software is written in Python. This choice, controversial at first, proved to be extremely successful making the IRAM 30m telescope extremely efficient.\n\nThis talk will describe how Python is used at the telescope, the reasons behind these choices, lessons learned and future developments.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TZTL7A", "name": "Francesco Pierfederici", "avatar": "https://pretalx.com/media/avatars/TZTL7A_GJOzDHP.webp", "biography": "Launched genomics data processing platform for the largest food company in the world. Helped shoot satellites in orbit at NASA. Optimised numerical weather forecast models on 200k cores. Asteroid 22435 Pierfederici named in recognition of his contributions to astronomy software development. Author of \"Distributed Computing with Python\", 2016 PACKT Publishing.\n\nLoves Python.", "public_name": "Francesco Pierfederici", "guid": "6a04f584-97d6-5092-bf7b-6c5f4b6ec5cc", "url": "https://pretalx.com/euroscipy-2019/speaker/TZTL7A/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/8K7TA9/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/8K7TA9/", "attachments": []}, {"guid": "f7f06f56-fdb7-5051-b5c8-8bc545995b8a", "code": "F8X9BY", "id": 1321, "logo": null, "date": "2019-09-05T12:00:00+00:00", "start": "12:00", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1321-matrix-calculus-with-sympy", "url": "https://pretalx.com/euroscipy-2019/talk/F8X9BY/", "title": "Matrix calculus with SymPy", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "In this talk we explore a recent addition to SymPy which allows to find closed-form solutions to matrix derivatives. As a consequence, generation of efficient code for optimization problems is now much easier.", "description": "The recent popularization of libraries relying on tensor algebra operations has led to a rise in the requirement of computational tools to calculate the gradient and hessian of tensorial expressions. The derivative of a tensor *A* by tensor *B* is the tensor containing all combinations of the elements of *A* derived by the elements of *B*. While tensor derivative operations are commonly supported by most computer algebra systems and frameworks through iterative algorithms, these derivatives can be expressed mathematically in closed-form solutions, which are computationally many orders of magnitude faster.\n\nSymPy has been recently extended in order to support the computation of symbolic matrix derivatives, and is currently the only computer algebra system endowed with this feature (lacking even in Wolfram Mathematica). Matrix calculus plays indeed a central role in optimization and machine learning, but was unfortunately often limited to pen on papers or chalk on blackboards.\n\nIn this talk, we will introduce matrix expressions in SymPy, and address the three ways they can be represented:\n\n1. explicit matrices with symbolic entries,\n2. indexed symbols with proper summation convention,\n3. implicit matrix expressions.\n\nWe illustrate the way matrix derivatives are implemented for all three representations, with special emphasis to the third way, the fastest and most elegant. The derived expressions can then be passed to SymPy's code generation utilities and the resulting code can be compared in speed with other frameworks, such as TensorFlow.\n\nThe support of matrix derivatives can turn SymPy into a simple tool to create the code for optimization algorithms or the code to train machine learning algorithms. The code generation utilities of SymPy are indeed aware of how to export matrix expressions into other programming languages and frameworks. We will give some examples using maximum likelihood estimation and the expectation-maximization algorithms.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NYVKBG", "name": "Francesco Bonazzi", "avatar": null, "biography": "MSc. in physics from the University of Milano, Italy (2012).\nSoftware engineer in the industry (2012-2015).\nResearcher at the Max Planck Institute of Colloids and Interfaces, Potsdam, Germany (2015-2018).\nData scientist (2018-2019).", "public_name": "Francesco Bonazzi", "guid": "b41d86a5-a6fa-5bbe-8f82-96b4d2b124d9", "url": "https://pretalx.com/euroscipy-2019/speaker/NYVKBG/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/F8X9BY/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/F8X9BY/", "attachments": []}, {"guid": "31276e06-e576-59b4-b039-231d68067031", "code": "FLM8R7", "id": 1188, "logo": null, "date": "2019-09-05T14:45:00+00:00", "start": "14:45", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1188-veloxchem-python-meets-quantum-chemistry-and-hpc", "url": "https://pretalx.com/euroscipy-2019/talk/FLM8R7/", "title": "VeloxChem: Python meets quantum chemistry and HPC", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "A new and efficient Python/C++ modular library for real and complex response functions at the\nlevel of Kohn-Sham density functional theory", "description": "Zilvinas Rinkevicius, Xin Li, Olav Vahtras, Manuel Brand, Karan Ahmadzadeh, Magnus\nRingholm, Nanna List, and Patrick Norman\n\nWith the ease of Python library modules, VeloxChem offers a front end to quantum chemical\ncalculations on contemporary high-performance computing (HPC) systems and aims at\nharnessing the future compute power within the EuroHPC initiative. At the heart of this\nsoftware lies a module for the evaluation of electron-repulsion integrals (ERIs) using the ObaraSaika recurrence scheme, where a high degree of efficiency is achieved by employing\narchitecture-independent vectorization via OpenMP SIMD pragmas in the auto-generated C++\nsource code. The software is topology aware and with a Python-controlled work and task flow,\nthe idle time is minimized using an MPI/OpenMP partitioning of resources.\nIn the second software layer, we have implemented a highly accurate SCF start guess based\non atomic densities and a first-level of iterations in a reduced version of the user-defined basis\nset, leading to a very smooth convergence in the subsequent standard DIIS scheme. This layer\nalso includes vectorized and OpenMP/MPI parallelized modules for efficient generation of DFT\ngrid points and weights as well as kernel integration.\nIn the third software layer, we present real and complex response functions as to address\ndispersive and absorptive molecular properties in spectroscopy. The kernel module in this layer\nis the iterative linear response equation solver that we have formulated and implemented for a\ncombination of multiple optical frequencies and multiple perturbation operators. With efficient\nuse of computer memory, we enable the simultaneous reference to, and solving of, in the order\nof 1,000 response equations for sizable biochemical systems without spatial symmetry, and we\ncan thereby determine electronic response spectra in arbitrary wavelength regions, including\nUV/vis and X-Ray, without resolving the sometimes embedded excited states in the spectrum.\nE.g. the electronic CD spectrum (involving the Cartesian sets of electric and magnetic\nperturbations) over a range of some 10 eV is obtained at a computational cost comparable to\nthat of determining the transition energy of the lowest excited state, or optimizing the electronic\nstructure of the reference state.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZRZEXZ", "name": "Olav Vahtras", "avatar": "https://pretalx.com/media/avatars/ZRZEXZ_7XNH2Yd.webp", "biography": "Professor of Theoretical Chemistry at KTH Royal Institute of Technology, Stockholm, Sweden.\nPhD in Quantum Chemistry 1992 \nMSc in Engineering Physics 1988\n\nResearch interest, method development in quantum chemistry. Coauthor of the Dalton Program package.\n\nInvolvement in the Python community as co-editor of Scipy Lecture Notes and instructor for Software Carpentry/Data Carpentry.", "public_name": "Olav Vahtras", "guid": "30161721-128f-5a16-887e-5dd61eae7c51", "url": "https://pretalx.com/euroscipy-2019/speaker/ZRZEXZ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/FLM8R7/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/FLM8R7/", "attachments": []}, {"guid": "fa8afe50-10ee-5901-99d4-9db834419df2", "code": "YJQH7M", "id": 1271, "logo": null, "date": "2019-09-05T15:15:00+00:00", "start": "15:15", "duration": "00:30", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1271-emzed-a-python-based-framework-for-analysis-of-mass-spectrometry-data", "url": "https://pretalx.com/euroscipy-2019/talk/YJQH7M/", "title": "emzed: a Python based framework for analysis of mass-spectrometry data", "subtitle": "", "track": null, "type": "Talk (long)", "language": "en", "abstract": "This talk is about emzed, a Python library  to support biologists with little programming knowledge to implement ad-hoc analyses as well as workflows for mass-spectrometry data.", "description": "Many of the existing mass spectrometry data analysis tools are desktop applications designed for specific applications without support for customization. In addition, many of the commercial solutions offer no or only limited functionality for exporting results.\n\nIn addition, the existing programming libraries in this area are scattered across different languages, mostly R, Java and Python.\n\nAs a result, data analysis in this area often consists of manual import/export steps from/to various tools and self-developed scripts that prevent the reproducibility of results obtained or automated execution on high-performance infrastructures.\n\nemzed tries to avoid these problems by integrating existing libraries and tools from Python, R (and in the near future also Java) into an easy-to-use API. \n\nTo support workflow development and increase confidence in end results \nemzed also offers tools for interactive visualization of mass spectrometry related data structures.\n\nThe presentation introduces basics and concepts of emzed, some lessons learned and current development of the next version of emzed.", "recording_license": "", "do_not_record": false, "persons": [{"code": "89DLZK", "name": "Uwe Schmitt", "avatar": "https://pretalx.com/media/avatars/89DLZK_6vTI8j4.webp", "biography": "- master in mathematics 1994 at University of Saarbr\u00fccken, Germany.\n- PHD in applied mathematics since 2001 at University of Saarbr\u00fccken, Germany.\n- Postdoc position until 2008 at University of Saarbr\u00fccken\n- 2008-2014 working as software developer and data scientist for mineway GmbH\n- since 2014 senior software developer at Scientific IT Services of ETH Zurich, Switzerland.", "public_name": "Uwe Schmitt", "guid": "b2662998-034f-59f4-bae7-ab26f2442036", "url": "https://pretalx.com/euroscipy-2019/speaker/89DLZK/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/YJQH7M/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/YJQH7M/", "attachments": []}, {"guid": "20629f65-e405-5a82-83ab-07fdcb239720", "code": "PUCWVY", "id": 1456, "logo": null, "date": "2019-09-05T15:45:00+00:00", "start": "15:45", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1456-vtext-fast-text-processing-in-python-using-rust", "url": "https://pretalx.com/euroscipy-2019/talk/PUCWVY/", "title": "vtext: fast text processing in Python using Rust", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk, we present some of the benefits of writing extensions for Python in Rust. We then illustrate this approach on the [vtext](https://github.com/rth/vtext) project, that aims to be a high-performance library for text processing.", "description": "Scientific Python has historically relied on compiled extensions for performance critical parts of the code. In this talk, we outline how to write Rust extensions for Python using [rust-numpy](https://github.com/rust-numpy/rust-numpy),\nproject. Advantages and limitations of this approach as compared to Cython or wrapping Fortran, C or C++ are also discussed.\n\nIn the second part, we introduce the [vtext](https://github.com/rth/vtext) project that allows fast text processing in Python using Rust. In particular, we consider the problems of text tokenization, and (parallel) token counting resulting in a sparse vector representation of documents. These can then be used as input in machine learning or information retrieval applications. We outline the approach used in vtext and compare to existing solutions of these problems in the Python ecosystem.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BXVSCG", "name": "Roman Yurchak", "avatar": "https://pretalx.com/media/avatars/BXVSCG_ePqsMYS.webp", "biography": "Roman Yurchak has a background in computational physics, and is currently working\nas an independent consultant for data science related projects. He is also an open\nsource contributor to several Open-Source projects, mostly in Python.", "public_name": "Roman Yurchak", "guid": "7434efd5-ad7a-5be1-a44a-a7b79188bd9e", "url": "https://pretalx.com/euroscipy-2019/speaker/BXVSCG/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/PUCWVY/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/PUCWVY/", "attachments": []}, {"guid": "3a589ee1-2919-58ae-ac64-4a5edae394b7", "code": "7EYS3W", "id": 1421, "logo": null, "date": "2019-09-05T16:30:00+00:00", "start": "16:30", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1421-pystencils-speeding-up-stencil-computations-on-cpus-and-gpus", "url": "https://pretalx.com/euroscipy-2019/talk/7EYS3W/", "title": "pystencils: Speeding up stencil computations on CPUs and GPUs", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "[pystencils](https://i10git.cs.fau.de/pycodegen/pystencils) speeds up stencil computations on numpy arrays using a sympy-based high level description, that is compiled into optimized C code.", "description": "[Interactive Notebooks are available here](https://mybinder.org/v2/gh/mabau/pystencils/master?filepath=doc%2Fnotebooks).\n\nMany operations on structured arrays can be formulated as stencil codes, where the update of one array cell depends only on values in its local neighborhood. Stencil codes arise in many different fields, for example in image processing or in computational fluid dynamics by discretizing partial differential equations (PDEs) using finite differences or finite volume schemes. \n\nWe present the [pystencils](https://i10git.cs.fau.de/pycodegen/pystencils) package that allows for fast execution of stencil codes on numpy arrays using code generation techniques.\nThe stencil is formulated in sympy and transformed into an intermediate representation (IR).\n*pystencils* comes with a set of optimizing transformations that can be applied on this IR, for example cache blocking or explicit SIMD vectorization with intrinsics. The intermediate representation is transformed into C or CUDA code and automatically loaded as a C extension module. This approach yields highly efficient implementations, outperforming current acceleration techniques like Cython or numba. Additionally, together with the [waLBerla](https://www.walberla.net/) package, the resulting stencil codes can be run on large computing clusters, using MPI parallelization. \n\n*pystencils* also comes with functions to automatically derive the sympy-based stencil representation from a continuous PDE. Symbolic, continuous differential operators are automatically discretized by finite difference schemes of arbitrary order. \n\nWe show two examples of large-scale setups run with *pystencils*: a phase-field method simulating solidification of alloys and a CFD simulation based on the lattice-Boltzmann method.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JZH83K", "name": "Martin Bauer", "avatar": null, "biography": "Martin Bauer is a PhD student at the chair for system simulation at the University Erlangen-Nuremberg. \nHis research interests are CFD simulations with the lattice Boltzmann method,  meta-programming techniques and high performance computing. He is one of the core developers of the waLBerla lattice Boltzmann framework.", "public_name": "Martin Bauer", "guid": "36470409-66d9-5e43-968e-2063cdee1e6a", "url": "https://pretalx.com/euroscipy-2019/speaker/JZH83K/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/7EYS3W/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/7EYS3W/", "attachments": []}, {"guid": "bf25ae85-d253-5b7f-a7f2-077b3f787e87", "code": "LE7AAH", "id": 1784, "logo": null, "date": "2019-09-05T16:45:00+00:00", "start": "16:45", "duration": "00:15", "room": "Track 3 (Oteiza)", "slug": "euroscipy-2019-1784-telapy-a-python-module-to-compute-free-surface-flows-and-sediments-transport-in-geosciences", "url": "https://pretalx.com/euroscipy-2019/talk/LE7AAH/", "title": "TelApy a Python module to compute free surface flows and sediments transport in geosciences", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "TelApy a Python module to compute free surface flows and sediments transport in geosciences and examples of how it is used to inter-operate with other Python libraries for Uncertainty Quantification, Optimization, Reduced Order Model.", "description": "This talk is focused on the application of TelApy module (www.opentelemac.org). TelApy aims to provide a Python wrapper of TELEMAC-MASCARET API (Application Program Interface). The goal of TelApy is to have a full control on the simulation while running a case. For example, it must allow the user to stop the simulation at any time step, get values of some variables and change them. In order to make this possible, a Fortran structure called instantiation was developed with the API. It contains a list of strings pointing to TELEMAC variables. This gives direct access to the physical memory of variables, and allows therefore to get and set their values. Furthermore, changes have been made in TELEMAC-MASCARET main subroutines to make hydraulic cases execution possible time step by time step. It is useful to drive the TELEMAC-MASCARET SYSTEM APIs using Python programming language. In fact, Python is a portable, dynamic, extensible, free language, which allows (without imposing) a modular approach and object oriented programming. In addition of benefits of this programming language, Python offers a large amounts of interoperable libraries. The link between various interoperable libraries with TELEMAC-MASCARET SYSTEM APIs allows the creation of an ever more efficient computing chain able to more finely respond to various complex problems. Therefore, the TelApy module has the ambition to enable a new way of use for the TELEMAC-MASCARET system. In particular one can think about high performance computing for the calculation of uncertainties, optimization, code coupling and so on. The objectives of this talk is to present some examples of the TelApy module in the case of Uncertainty Quantification, Optimization, Reduced Order Model.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZL7ERQ", "name": "yoann audouin", "avatar": null, "biography": "In charge of the architecture and environment of the open source code TELEMAC-MASCARET (www.opentelemac.org) since 2012.\nDiscovered Python in 2010.", "public_name": "yoann audouin", "guid": "ddca1508-4a9d-55d3-bc73-1c8ca1d43f39", "url": "https://pretalx.com/euroscipy-2019/speaker/ZL7ERQ/"}], "links": [], "feedback_url": "https://pretalx.com/euroscipy-2019/talk/LE7AAH/feedback/", "origin_url": "https://pretalx.com/euroscipy-2019/talk/LE7AAH/", "attachments": []}]}}, {"index": 5, "date": "2019-09-06", "day_start": "2019-09-06T04:00:00+00:00", "day_end": "2019-09-07T03:59:00+00:00", "rooms": {}}]}}}