Utilities for testing custom AD primitives.
45 Stars
Updated Last
1 Year Ago
Started In
January 2020


CI Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages DOI

Collection of utilities for testing forward- and reverse-mode AD sensitivities.

ChainRulesTestUtils.jl is designed to help you test ChainRulesCore.frule and ChainRulesCore.rrule methods. The main entry points are ChainRulesTestUtils.frule_test, ChainRulesTestUtils.rrule_test, and ChainRulesTestUtils.test_scalar Currently this is done via testing the rules against numerical differentiation (using FiniteDifferences.jl).

ChainRulesTestUtils.jl is separate from ChainRulesCore.jl so that it can be a test-only dependency, allowing it to have potentially heavy dependencies, while keeping ChainRulesCore.jl as light-weight as possible.