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

Replay in biological and artificial neural networks

Replay in biological and artificial neural networks

Our waking and sleeping lives are punctuated by fragments of recalled memories: a sudden connection in the shower between seemingly disparate thoughts, or an ill-fated choice decades ago that haunts us as we struggle to fall asleep. By measuring memory retrieval directly in the brain, neuroscientists have noticed something remarkable: spontaneous recollections, measured directly in the brain, often occur as very fast sequences of multiple memories. These so-called ‘replay’ sequences play out in a fraction of a second–so fast that we’re not necessarily aware of the sequence.

Read More
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