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

Authors

page 9

page 11

page 13

page 14

page 16

page 17

page 19

page 20

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...
07/01/2016

Want Drugs? Use Python

We describe how Python can be leveraged to streamline the curation, mode...
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...
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...
08/08/2021

Nonparametric Estimation of the Random Coefficients Model in Python

We present PyRMLE, a Python module that implements Regularized Maximum L...
02/26/2022

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...
06/21/2021

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.