PyTracer: Automatically profiling numerical instabilities in Python

12/21/2021
by   Yohan Chatelain, et al.
0

Numerical stability is a crucial requirement of reliable scientific computing. However, despite the pervasiveness of Python in data science, analyzing large Python programs remains challenging due to the lack of scalable numerical analysis tools available for this language. To fill this gap, we developed PyTracer, a profiler to quantify numerical instability in Python applications. PyTracer transparently instruments Python code to produce numerical traces and visualize them interactively in a Plotly dashboard. We designed PyTracer to be agnostic to numerical noise model, allowing for tool evaluation through Monte-Carlo Arithmetic, random rounding, random data perturbation, or structured noise for a particular application. We illustrate PyTracer's capabilities by testing the numerical stability of key functions in both SciPy and Scikit-learn, two dominant Python libraries for mathematical modeling. Through these evaluations, we demonstrate PyTracer as a scalable, automatic, and generic framework for numerical profiling in Python.

READ FULL TEXT

page 9

page 11

page 13

page 14

page 16

page 17

page 19

page 20

research
10/01/2020

Fast fully-reproducible serial/parallel Monte Carlo and MCMC simulations and visualizations via ParaMonte::Python library

ParaMonte::Python (standing for Parallel Monte Carlo in Python) is a ser...
research
07/01/2016

Want Drugs? Use Python

We describe how Python can be leveraged to streamline the curation, mode...
research
04/01/2021

Using Python for Model Inference in Deep Learning

Python has become the de-facto language for training deep neural network...
research
05/15/2023

Transactional Python for Durable Machine Learning: Vision, Challenges, and Feasibility

In machine learning (ML), Python serves as a convenient abstraction for ...
research
08/28/2019

Comparing Perturbation Models for Evaluating Stability of Post-Processing Pipelines in Neuroimaging

A lack of software reproducibility has become increasingly apparent in t...
research
08/08/2021

Nonparametric Estimation of the Random Coefficients Model in Python

We present PyRMLE, a Python module that implements Regularized Maximum L...
research
01/08/2020

Comparing Python, Go, and C++ on the N-Queens Problem

Python currently is the dominant language in the field of Machine Learni...

Please sign up or login with your details

Forgot password? Click here to reset