diff --git a/Manifest.toml b/Manifest.toml index ab4803d..28916e3 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,9 +2,9 @@ [[AbstractFFTs]] deps = ["LinearAlgebra"] -git-tree-sha1 = "380e36c66edfa099cd90116b24c1ce8cafccac40" +git-tree-sha1 = "051c95d6836228d120f5f4b984dd5aba1624f716" uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "0.4.1" +version = "0.5.0" [[Adapt]] deps = ["LinearAlgebra"] @@ -29,15 +29,9 @@ version = "0.8.10" [[BinaryProvider]] deps = ["Libdl", "SHA"] -git-tree-sha1 = "29995a7b317bbd06be147e1974a3541ce2502dca" +git-tree-sha1 = "5b08ed6036d9d3f0ee6369410b830f8873d4024c" uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" -version = "0.5.7" - -[[CSTParser]] -deps = ["Tokenize"] -git-tree-sha1 = "c69698c3d4a7255bc1b4bc2afc09f59db910243b" -uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f" -version = "0.6.2" +version = "0.5.8" [[Combinatorics]] deps = ["LinearAlgebra", "Polynomials", "Test"] @@ -63,12 +57,6 @@ git-tree-sha1 = "9a11d428dcdc425072af4aea19ab1e8c3e01c032" uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" version = "1.3.0" -[[Crayons]] -deps = ["Test"] -git-tree-sha1 = "f621b8ef51fd2004c7cf157ea47f027fdeac5523" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.0.0" - [[DataAPI]] git-tree-sha1 = "674b67f344687a88310213ddfa8a2b3c76cc4252" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" @@ -95,10 +83,10 @@ uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" version = "0.0.4" [[DiffRules]] -deps = ["Random", "Test"] -git-tree-sha1 = "dc0869fb2f5b23466b32ea799bd82c76480167f7" +deps = ["NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "f734b5f6bc9c909027ef99f6d91d5d9e4b111eed" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "0.0.10" +version = "0.1.0" [[Distributed]] deps = ["Random", "Serialization", "Sockets"] @@ -106,39 +94,33 @@ uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[Distributions]] deps = ["LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns"] -git-tree-sha1 = "058e5e39ceee0f92ccec70c5bf31c90ffb374669" +git-tree-sha1 = "ce189b71fac635d6ec9582dc0f208887db25e6d3" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.21.5" +version = "0.21.8" [[FFTW]] -deps = ["AbstractFFTs", "BinaryProvider", "Conda", "Libdl", "LinearAlgebra", "Reexport", "Test"] -git-tree-sha1 = "6c5b420da0b8c12098048561b8d58f81adea506f" +deps = ["AbstractFFTs", "BinaryProvider", "Conda", "Libdl", "LinearAlgebra", "Reexport"] +git-tree-sha1 = "4cfd3d43819228b9e73ab46600d0af0aa5cedceb" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.0.1" +version = "1.1.0" [[FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "6827a8f73ff12707f209c920d204238a16892b55" +git-tree-sha1 = "b2cf74f09216cfe3c241e8484178ec0ea941870f" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.8.0" - -[[FiniteDifferences]] -deps = ["LinearAlgebra", "Printf"] -git-tree-sha1 = "98ae83a564ce5c4066d3ef45ef2310f089fdf99f" -uuid = "26cc04aa-876d-5657-8c51-4c34ba976000" -version = "0.7.2" +version = "0.8.1" [[ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "InteractiveUtils", "LinearAlgebra", "NaNMath", "Random", "SparseArrays", "SpecialFunctions", "StaticArrays", "Test"] -git-tree-sha1 = "4c4d727f1b7e0092134fabfab6396b8945c1ea5b" +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "4407e7b76999eca2646abdb68203bd4302476168" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.3" +version = "0.10.6" [[IRTools]] deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "e23faa71b8f54c3fdc99b230b9c2906cafdddca5" +git-tree-sha1 = "72421971e60917b8cd7737f9577c4f0f87eab306" uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.2.3" +version = "0.3.0" [[InteractiveUtils]] deps = ["Markdown"] @@ -164,10 +146,10 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[MacroTools]] -deps = ["CSTParser", "Compat", "DataStructures", "Test", "Tokenize"] -git-tree-sha1 = "d6e9dedb8c92c3465575442da456aec15a89ff76" +deps = ["Compat", "DataStructures", "Test"] +git-tree-sha1 = "82921f0e3bde6aebb8e524efc20f4042373c0c06" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.1" +version = "0.5.2" [[Markdown]] deps = ["Base64"] @@ -202,15 +184,15 @@ version = "1.1.0" [[PDMats]] deps = ["Arpack", "LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"] -git-tree-sha1 = "9d6a9b3e19634612fb1edcafc4b1d75242b24bde" +git-tree-sha1 = "035f8d60ba2a22cb1d2580b1e0e5ce0cb05e4563" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.9.9" +version = "0.9.10" [[Parsers]] deps = ["Dates", "Test"] -git-tree-sha1 = "ef0af6c8601db18c282d092ccbd2f01f3f0cd70b" +git-tree-sha1 = "a23968e107c0544aca91bfab6f7dd34de1206a54" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "0.3.7" +version = "0.3.9" [[Pkg]] deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] @@ -218,19 +200,19 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[Polynomials]] deps = ["LinearAlgebra", "RecipesBase"] -git-tree-sha1 = "f7c0c07e82798aef542d60a6e6e85e39f4590750" +git-tree-sha1 = "ae71c2329790af97b7682b11241b3609e4d48626" uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "0.5.3" +version = "0.6.0" [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[QuadGK]] -deps = ["DataStructures", "LinearAlgebra", "Test"] -git-tree-sha1 = "3ce467a8e76c6030d4c3786e7d3a73442017cdc0" +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "1af46bf083b9630a5b27d4fd94f496c5fca642a8" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.0.3" +version = "2.1.1" [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets"] @@ -258,10 +240,10 @@ uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "0.5.2" [[Rmath]] -deps = ["BinaryProvider", "Libdl", "Random", "Statistics", "Test"] -git-tree-sha1 = "9a6c758cdf73036c3239b0afbea790def1dabff9" +deps = ["BinaryProvider", "Libdl", "Random", "Statistics"] +git-tree-sha1 = "9825383d3453f4606d77f0a5722495f38001c09e" uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.5.0" +version = "0.5.1" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -287,16 +269,16 @@ deps = ["LinearAlgebra", "Random"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] -deps = ["BinDeps", "BinaryProvider", "Libdl", "Test"] -git-tree-sha1 = "0b45dc2e45ed77f445617b99ff2adf0f5b0f23ea" +deps = ["BinDeps", "BinaryProvider", "Libdl"] +git-tree-sha1 = "3bdd374b6fd78faf0119b8c5d538788dbf910c6e" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.7.2" +version = "0.8.0" [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "1085ffbf5fd48fdba64ef8e902ca429c4e1212d3" +git-tree-sha1 = "5a3bcb6233adabde68ebc97be66e95dcb787424c" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "0.11.1" +version = "0.12.1" [[Statistics]] deps = ["LinearAlgebra", "SparseArrays"] @@ -309,13 +291,13 @@ uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" version = "0.32.0" [[StatsFuns]] -deps = ["Rmath", "SpecialFunctions", "Test"] -git-tree-sha1 = "b3a4e86aa13c732b8a8c0ba0c3d3264f55e6bb3e" +deps = ["Rmath", "SpecialFunctions"] +git-tree-sha1 = "67745a79d8e83a83737a7e17a383c54720a97f41" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "0.8.0" +version = "0.9.0" [[SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +deps = ["Libdl", "LinearAlgebra", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [[Test]] @@ -323,21 +305,16 @@ deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[TimerOutputs]] -deps = ["Crayons", "Printf", "Test", "Unicode"] -git-tree-sha1 = "b80671c06f8f8bae08c55d67b5ce292c5ae2660c" +deps = ["Printf"] +git-tree-sha1 = "311765af81bbb48d7bad01fb016d9c328c6ede03" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.0" - -[[Tokenize]] -git-tree-sha1 = "dfcdbbfb2d0370716c815cbd6f8a364efb6f42cf" -uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624" -version = "0.5.6" +version = "0.5.3" [[Tracker]] deps = ["Adapt", "DiffRules", "ForwardDiff", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Printf", "Random", "Requires", "SpecialFunctions", "Statistics", "Test"] -git-tree-sha1 = "1aa443d3b4bfa91a8aec32f169a479cb87309910" +git-tree-sha1 = "439e3a4f6d54739bb17c36aa1b5855acec22fc1e" uuid = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -version = "0.2.3" +version = "0.2.5" [[URIParser]] deps = ["Test", "Unicode"] @@ -360,12 +337,12 @@ version = "1.1.3" [[Zygote]] deps = ["DiffRules", "FFTW", "FillArrays", "ForwardDiff", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "d21e86576e25e4adc09631b34651798775fba99a" +git-tree-sha1 = "e4245b9c5362346e154b62842a89a18e0210b92b" uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" -version = "0.3.4" +version = "0.4.1" [[ZygoteRules]] deps = ["MacroTools"] -git-tree-sha1 = "def5f96ac2895fd9b48435f6b97020979ee0a4c6" +git-tree-sha1 = "b3b4882cc9accf6731a08cc39543fbc6b669dca8" uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.1.0" +version = "0.2.0" diff --git a/Project.toml b/Project.toml index 6758488..865f8b5 100644 --- a/Project.toml +++ b/Project.toml @@ -1,25 +1,32 @@ name = "DistributionsAD" uuid = "ced4e74d-a319-5a8a-b0ac-84af2272839c" -version = "0.1.1" +version = "0.1.2" [deps] Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" -FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" PDMats = "90014a1f-27ba-587c-ab20-58faa44d9150" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [compat] +Combinatorics = "0.7" +Distributions = "0.21.6" +ForwardDiff = "0.10.6" +PDMats = "0.9" +StatsFuns = "0.8, 0.9" +Tracker = "0.2.5" +Zygote = "0.4.1" julia = "1" [extras] -Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test", "FiniteDifferences"] \ No newline at end of file diff --git a/src/common.jl b/src/common.jl index 326ebd7..4d0b455 100644 --- a/src/common.jl +++ b/src/common.jl @@ -41,7 +41,7 @@ function turing_chol(A::AbstractMatrix, check) end turing_chol(A::Tracker.TrackedMatrix, check) = Tracker.track(turing_chol, A, check) Tracker.@grad function turing_chol(A::AbstractMatrix, check) - C, back = Zygote.forward(unsafe_cholesky, Tracker.data(A), Tracker.data(check)) + C, back = Zygote.pullback(unsafe_cholesky, Tracker.data(A), Tracker.data(check)) return (C.factors, C.info), Δ->back((factors=Tracker.data(Δ[1]),)) end @@ -104,7 +104,7 @@ function zygote_ldiv(A::Tracker.TrackedMatrix, B::AbstractVecOrMat) end zygote_ldiv(A::AbstractMatrix, B::TrackedVecOrMat) = Tracker.track(zygote_ldiv, A, B) Tracker.@grad function zygote_ldiv(A, B) - Y, back = Zygote.forward(\, Tracker.data(A), Tracker.data(B)) + Y, back = Zygote.pullback(\, Tracker.data(A), Tracker.data(B)) return Y, Δ->back(Tracker.data(Δ)) end diff --git a/test/test_utils.jl b/test/test_utils.jl index 29e2a93..5bf57c6 100644 --- a/test/test_utils.jl +++ b/test/test_utils.jl @@ -96,7 +96,7 @@ end Check that the reverse-mode sensitivities produced by an AD library are correct for `f` at `x...`, given sensitivity `ȳ` w.r.t. `y = f(x...)` up to `rtol` and `atol`. -`forward` should be either `Tracker.forward` or `Zygote.forward`. +`forward` should be either `Tracker.forward` or `Zygote.pullback`. """ function test_reverse_mode_ad(forward, f, ȳ, x...; rtol=1e-8, atol=1e-8)