Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JuliaDiff/ChainRulesTestUtils.jl
Utilities for testing custom AD primitives.
https://github.com/JuliaDiff/ChainRulesTestUtils.jl
autodiff automatic-differentiation hacktoberfest
Last synced: about 2 months ago
JSON representation
Utilities for testing custom AD primitives.
- Host: GitHub
- URL: https://github.com/JuliaDiff/ChainRulesTestUtils.jl
- Owner: JuliaDiff
- License: mit
- Created: 2020-01-22T16:56:20.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-16T11:04:28.000Z (2 months ago)
- Last Synced: 2024-07-16T13:46:37.345Z (2 months ago)
- Topics: autodiff, automatic-differentiation, hacktoberfest
- Language: Julia
- Homepage:
- Size: 1.39 MB
- Stars: 50
- Watchers: 10
- Forks: 15
- Open Issues: 73
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ChainRulesTestUtils.jl
[![CI](https://github.com/JuliaDiff/ChainRulesTestUtils.jl/workflows/CI/badge.svg?branch=main)](https://github.com/JuliaDiff/ChainRulesTestUtils.jl/actions?query=workflow%3ACI)
[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)
[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![DOI](https://zenodo.org/badge/235620344.svg)](https://zenodo.org/badge/latestdoi/235620344)[![](https://img.shields.io/badge/docs-main-blue.svg)](https://JuliaDiff.github.io/ChainRulesTestUtils.jl/dev)
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://JuliaDiff.github.io/ChainRulesTestUtils.jl/stable)> 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`](https://github.com/JuliaDiff/FiniteDifferences.jl)).`ChainRulesTestUtils.jl` is separate from [`ChainRulesCore.jl`](https://github.com/JuliaDiff/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.