PyTracer: Automatically profiling numerical instabilities in Python

by   Yohan Chatelain, et al.

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.



page 9

page 11

page 13

page 14

page 16

page 17

page 19

page 20


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...

Want Drugs? Use Python

We describe how Python can be leveraged to streamline the curation, mode...

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

A lack of software reproducibility has become increasingly apparent in t...

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

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

Nonparametric Estimation of the Random Coefficients Model in Python

We present PyRMLE, a Python module that implements Regularized Maximum L...

Python for Smarter Cities: Comparison of Python libraries for static and interactive visualisations of large vector data

Local governments, as part of 'smart city' initiatives and to promote in...

Python computations of general Heun functions from their integral series representations

We present a numerical implementation in Python of the recently develope...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.