You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/tutorials/gradient_zoo.md
+28-8Lines changed: 28 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -157,7 +157,7 @@ Reverse-mode source-to-source automatic differentiation, written by hooking into
157
157
158
158
* By far the best-tested option for Flux models.
159
159
160
-
*Long compilation times, on the first call.
160
+
*Medium compilation times, on the first call.
161
161
162
162
* Allows mutation of structs, but not of arrays. This leads to the most common error... sometimes this happens because you mutate an array, often because you call some function which, internally, creates the array it wants to return & then fills it in.
Forward mode AD is a different algorithm, which is easier to implement. This is a reliable old package,
326
+
but is of limited interest for use with Flux:
307
327
308
328
* Needs a simple array of parameters, i.e. supports only `gradient(f, x::AbstractArray{<:Real})`.
309
329
@@ -316,9 +336,9 @@ Forward mode is a different algorithm...
316
336
317
337
* Like Tracker this passes a special TrackedArray type through your function. Allows you to record & compile the tape, and pre-allocate things.
318
338
319
-
*Needs a flat vector
339
+
*Like ForwardDiff it needs a flat vector, only `gradient(f, x::AbstractArray{<:Real})`.
320
340
321
-
* No support for GPU
341
+
* No support for GPU operations.
322
342
323
343
324
344
<hr/>
@@ -343,15 +363,15 @@ I haven't tried really, but I think it ought to work.
343
363
344
364
## Meta-packages
345
365
346
-
Besides AD packages, several packages have been written aiming to provide a unified interface to many options. These may offer useful ways to quickly switch between things you are trying.
366
+
Besides AD packages, several packages have been written aiming to provide a unified interface to many options. These may offer useful ways to quickly switch between things you are trying. However, Flux does not directly interface with any of them.
0 commit comments