Mikolaj Konarski
Mikolaj Konarski
Generalize the[ QuickCheck gradient vs derivative vs perturbation test](https://github.com/Mikolaj/horde-ad/blob/6aefced1ac8959c9cf455db429d49a5a7ec0d855/test/simplified/TestMnistFCNNR.hs#L669) and apply it to other neural networks. For a start, factoring out the part inside `conjoin` would already be beneficial. The...
I'm getting :117:23: error: [GHC-51179] Illegal \case with `default-language: GHC2024`. Adding `{-# LANGUAGE LambdaCase #-}` to the file fixes the problem.
Here's a popular set of benchmarks: https://github.com/gradbench/gradbench. An older and defunct one may provide inspiration as well: https://github.com/microsoft/ADBench. Probably, horde-ad doesn't include any of these examples nor anything related. There...
This is probably hard and even potentially impossible without foregoing the horde-ad's relatively simple semantics based on generalized dual numbers. E.g., maybe this can only be done in the far...
Let's look at the Haskell code of `conv2dSameS` (that uses operations from the horde-ad library and was originally contributed by [Ben Lippmeier](https://github.com/benl23x5) and [Tran Ma](https://github.com/tranma)), one of the three shaped...
Factor out the triple of function, its reverse derivative and its forward derivative from AstMapAccumRDer and let the user provide handwritten derivatives using the same mechanism. If I'm not missing...
This should be doable now that the interpreter is decently compositional. In the future, something similar can be done for GPU, but CPU should be a bit easier fiddling-wise, so...
This is the following TODO in the code https://github.com/Mikolaj/horde-ad/blob/3b37bc752ee20076a4c7e925891bee4f3c3711e9/src/HordeAd/Core/AstTools.hs#L327-L328 Currently quot and rem is handled in a very crude way and handling of other operations can possibly be improved as...
This is the following TODO in the code https://github.com/Mikolaj/horde-ad/blob/3b37bc752ee20076a4c7e925891bee4f3c3711e9/src/HordeAd/Core/AstPrettyPrint.hs#L441-L442 The analogous task for `sfromK`, etc., is already done in the code just below, but `szip`, etc., may be a bit...
This is the following TODO in the code https://github.com/Mikolaj/horde-ad/blob/3b37bc752ee20076a4c7e925891bee4f3c3711e9/src/HordeAd/Core/AstPrettyPrint.hs#L31-L33 The goal is to make the output of pretty-printing accepted by Haskell and without losing the explicit sharing the AST provides....