ChainRulesTestUtils.jl

Utilities for testing custom AD primitives.
Popularity
50 Stars
Updated Last
4 Months Ago
Started In
January 2020

ChainRulesTestUtils.jl

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

⚠️ The ChainRules project is currently seeking a new primary maintainer ⚠️
See this Discourse thread. We currently have many secondary maintainers and contributors with commit rights, but noone who has committed to leading the efforts. Until this is resolved PRs and issues may not recieve timely response.

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.