Introducing Hypothesis GU Funcs, an Open Source Python Package for Unit Testing
Uber introduces Hypothesis GU Func, a new extension to Hypothesis, as an open source Python package for unit testing. Unit testing is an important part of modern, collaborative software development. Especially as the number of project contributors grows, rigorous unit test coverage helps monitor and enforce high quality.
Having a good system in place to generate test cases is important to identify difficult edge cases in your code. We use NumPy and PyTorch for building many machine learning (ML) models at Uber AI. Our internal hyper-parameter tuning service makes heavy use of PyTorch and has tensor values as inputs to its functions.
To make unit testing easier for these ML models, we introduce Hypothesis GU Func, a new open source Python package created by Uber. An extension to the Hypothesis package, Hypothesis GU Func allows property-based testing of vectorized NumPy functions. This tool has been useful in finding bugs in tools developed internally at Uber AI Labs, and now, with its open source release, can be leveraged by the broader ML community.