Introducing Hypothesis GU Funcs, an Open Source Python Package for Unit Testing

Introducing Hypothesis GU Funcs, an Open Source Python Package for Unit Testing

  • October 5, 2019
Table of Contents

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.

Source: uber.com

Tags :
Share :
comments powered by Disqus

Related Posts

Understanding Convolutional Neural Networks

Understanding Convolutional Neural Networks

A Convolutional Neural Network (CNN) is a class of deep, feed-forward artificial neural networks most commonly applied to analyzing visual imagery. The architecture of these networks was loosely inspired by biological neurons that communicate with each other and generate outputs dependent on the inputs. Though work on CNNs started in the early 1980s, they only became popular with recent technology advancements and computational capabilities that allow the processing of large amounts of data and the training of sophisticated algorithms in a reasonable amount of time.

Read More
Deep probabilistic modelling with Pyro

Deep probabilistic modelling with Pyro

Classical machine learning and deep learning algorithms can only propose the most probable solutions and are not able to adequately model uncertainty. The success of deep neural networks in diverse areas as image recognition and natural language processing has been outstanding in recent years. However, classical machine learning and deep learning algorithms can only propose the most probable solutions and are not able to adequately model uncertainty.

Read More