From d5226db9517361cafa532da0db65f4cfed4b4586 Mon Sep 17 00:00:00 2001 From: Enrico Wegner Date: Sun, 10 Dec 2023 12:23:16 +0100 Subject: [PATCH] Fixes #2 --- .DS_Store | Bin 6148 -> 6148 bytes .gitignore | 3 + CRAN-SUBMISSION | 4 +- R/BayesFluxR.R | 12 ++++ R/adapter-mass.R | 6 +- R/adapter-stepsize.R | 6 +- R/distributions.R | 8 +-- R/likelihoods.R | 4 +- R/mcmc.R | 10 +-- R/mode-finding.R | 6 +- R/priors.R | 4 +- tests/testthat/Manifest.toml | 118 ++++++++++++++++++++++++++++------- 12 files changed, 134 insertions(+), 47 deletions(-) diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..d2b928200205d8baec8edd9ed62b91472c4dffbc 100644 GIT binary patch literal 6148 zcmeHKzfTlF6#j-=!v!oZCPs`F`xg+YAXY0m6D>>(6j%{CF#O0Jdx5){P%Q}^g;pf~ z1C$V2D+~Vw3W=e%A=*R3_h#m}dG4KdYRtT3=9``O-h6Mrz1_J1U}n23Q$P(sl}#`i zV>iIWFRf%Fe&!+3$QsSnsrlu+)hitdE?}xrtUavQr zd4qG+qkG?XFU~(d(f*ZR`rB*4w_&niDn@&}SVI>L#g4H~IU=k9Kc?TkI<+!z07`&b}>v@bwK@H>~sb(W>6cOQ|>E zGuvd1`ne(54}D=xmpd~(&2DnTDhBx#FH+&HpoJxDDqU(b&Aun(ygK=~cYJ1_lg|qo z%U;EI=acXm%qcEhT)Nqi=l0>ki@RSf5931)?NRF+tK%(n_?)RDwiS5is=9L21jWA_i}%K%eZHYRmUC1J}M9uhzi^&Am4|SO)&FVIJBP*cJ>HBOgL?g zBT0TT3@5du_`0noUgN3Wqj@o!^e_ fK(^uuHf!{yG9YFi3x}Mc#Xka8hS)^~{-^@i7J}j{ delta 65 zcmZoMXfc=|#>AjHF;Q%yo+1YW5HK<@2y7PQ5M$X`FpGIJI|n}pP#!4ooq009h$187 SWK$94$^JYXn`1;)FarR`U=BS1 diff --git a/.gitignore b/.gitignore index 5b6a065..8caeda0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ .Rhistory .RData .Ruserdata +**/.DS_Store +Manifest.toml +Project.toml diff --git a/CRAN-SUBMISSION b/CRAN-SUBMISSION index 611448a..0f14aad 100644 --- a/CRAN-SUBMISSION +++ b/CRAN-SUBMISSION @@ -1,3 +1,3 @@ Version: 0.1.1 -Date: 2023-03-06 15:28:50 UTC -SHA: 099a9eccb094b8e5fdfdf2e6cf302c1e5fea9ad8 +Date: 2023-03-08 19:09:58 UTC +SHA: dcfcb820cd540fef83bd9b3baa471b640e88fc84 diff --git a/R/BayesFluxR.R b/R/BayesFluxR.R index d682253..4022eff 100644 --- a/R/BayesFluxR.R +++ b/R/BayesFluxR.R @@ -1,3 +1,15 @@ +#' How precise should values be communicated to Julia? +#' +#' The higher the number of zeros (digits) the more precise. +.get_num_zeros <- function() { + zeros <- Sys.getenv("BFLUXR_NUM_ZEROS") + if (zeros == "") { + zeros <- 20 + } else { + zeros <- as.numeric(zeros) + } + return(zeros) +} #' Installs Julia packages if needed #' diff --git a/R/adapter-mass.R b/R/adapter-mass.R index b7e332e..a16536a 100644 --- a/R/adapter-mass.R +++ b/R/adapter-mass.R @@ -30,7 +30,7 @@ madapter.DiagCov <- function(adapt_steps, windowlength, kappa = 0.5, epsilon = 1e-6){ juliavar <- get_random_symbol() - juliacode <- sprintf("DiagCovMassAdapter(%i, %i; kappa = %ff0, epsilon = %ff0)", + juliacode <- sprintf("DiagCovMassAdapter(%i, %i; kappa = Float32(%e), epsilon = Float32(%e))", adapt_steps, windowlength, kappa, epsilon) JuliaCall::julia_command(sprintf("%s = %s", juliavar, juliacode)) @@ -122,7 +122,7 @@ madapter.FullCov <- function(adapt_steps, windowlength, kappa = 0.5, epsilon = 1e-6){ juliavar <- get_random_symbol() - juliacode <- sprintf("FullCovMassAdapter(%i, %i; kappa = %ff0, epsilon = %ff0)", + juliacode <- sprintf("FullCovMassAdapter(%i, %i; kappa = Float32(%e), epsilon = Float32(%e))", adapt_steps, windowlength, kappa, epsilon) JuliaCall::julia_command(sprintf("%s = %s", juliavar, juliacode)) @@ -172,7 +172,7 @@ madapter.RMSProp <- function(adapt_steps, lambda = 1e-5, alpha = 0.99){ JuliaCall::julia_source(system.file("Julia/ascii-translate.jl", package = "BayesFluxR")) juliavar <- get_random_symbol() - juliacode <- sprintf("ascii_RMSPropMassAdapter(%i; lambda = %ff0, alpha = %ff0)", + juliacode <- sprintf("ascii_RMSPropMassAdapter(%i; lambda = Float32(%e), alpha = Float32(%e))", adapt_steps, lambda, alpha) JuliaCall::julia_command(sprintf("%s = %s", diff --git a/R/adapter-stepsize.R b/R/adapter-stepsize.R index 305e240..940369a 100644 --- a/R/adapter-stepsize.R +++ b/R/adapter-stepsize.R @@ -24,7 +24,7 @@ #' @export sadapter.Const <- function(l){ juliavar <- get_random_symbol() - juliacode <- sprintf("ConstantStepsize(%ff0)", l) + juliacode <- sprintf("ConstantStepsize(Float32(%e))", l) JuliaCall::julia_command(sprintf("%s = %s", juliavar, juliacode)) @@ -66,8 +66,8 @@ sadapter.DualAverage <- function(adapt_steps, initial_stepsize=1.0, gamma = 0.05, t0 = 10, kappa = 0.75) { juliavar <- get_random_symbol() - juliacode <- sprintf("DualAveragingStepSize(%ff0; target_accept = %ff0, - gamma = %ff0, t0 = %i, kappa = %ff0, adapt_steps = %i)", + juliacode <- sprintf("DualAveragingStepSize(Float32(%e); target_accept = Float32(%e), + gamma = Float32(%e), t0 = %i, kappa = Float32(%e), adapt_steps = %i)", initial_stepsize, target_accept, gamma, t0, kappa, adapt_steps) diff --git a/R/distributions.R b/R/distributions.R index 3acfb32..2cb677e 100644 --- a/R/distributions.R +++ b/R/distributions.R @@ -21,7 +21,7 @@ #' #' @export Gamma <- function(shape=2.0, scale=2.0){ - juliacode <- sprintf("Gamma(%f, %f)", shape, scale) + juliacode <- sprintf("Gamma(%e, %e)", shape, scale) symbol <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", symbol, juliacode)) out <- list(juliavar = symbol, juliacode = juliacode) @@ -50,7 +50,7 @@ Gamma <- function(shape=2.0, scale=2.0){ #' } #' @export InverseGamma <- function(shape=2.0, scale=2.0){ - juliacode <- sprintf("InverseGamma(%f, %f)", shape, scale) + juliacode <- sprintf("InverseGamma(%e, %e)", shape, scale) symbol <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", symbol, juliacode)) out <- list(juliavar = symbol, juliacode = juliacode) @@ -78,7 +78,7 @@ InverseGamma <- function(shape=2.0, scale=2.0){ #' #' @export Normal <- function(mu=0, sigma=1){ - juliacode <- sprintf("Normal(%f, %f)", mu, sigma) + juliacode <- sprintf("Normal(%e, %e)", mu, sigma) symbol <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", symbol, juliacode)) out <- list(juliavar = symbol, juliacode = juliacode) @@ -106,7 +106,7 @@ Normal <- function(mu=0, sigma=1){ #' #' @export Truncated <- function(dist, lower, upper){ - juliacode <- sprintf("Truncated(%s, %f, %f)", dist$juliacode, lower, upper) + juliacode <- sprintf("Truncated(%s, %e, %e)", dist$juliacode, lower, upper) symbol <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", symbol, juliacode)) out <- list(juliavar = symbol, juliacode = juliacode) diff --git a/R/likelihoods.R b/R/likelihoods.R index 51e0d99..4dcdfa1 100644 --- a/R/likelihoods.R +++ b/R/likelihoods.R @@ -71,7 +71,7 @@ likelihood.feedforward_normal <- function(chain, sig_prior){ #' #' @export likelihood.feedforward_tdist <- function(chain, sig_prior, nu=30){ - juliacode <- sprintf("BayesFlux.FeedforwardTDist(%s, %s, %ff0)", + juliacode <- sprintf("BayesFlux.FeedforwardTDist(%s, %s, Float32(%e))", chain$nc, sig_prior$juliavar, nu) symbol <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", symbol, juliacode)) @@ -146,7 +146,7 @@ likelihood.seqtoone_normal <- function(chain, sig_prior){ #' #' @export likelihood.seqtoone_tdist <- function(chain, sig_prior, nu = 30){ - juliacode <- sprintf("BayesFlux.SeqToOneTDist(%s, %s, %ff0)", + juliacode <- sprintf("BayesFlux.SeqToOneTDist(%s, %s, Float32(%e))", chain$nc, sig_prior$juliavar, nu) sym <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", sym, juliacode)) diff --git a/R/mcmc.R b/R/mcmc.R index fd03e18..0383911 100644 --- a/R/mcmc.R +++ b/R/mcmc.R @@ -34,7 +34,7 @@ sampler.SGLD <- function(stepsize_a = 0.1, stepsize_b = 0, JuliaCall::julia_source(system.file("Julia/ascii-translate.jl", package = "BayesFluxR")) juliavar <- get_random_symbol() - juliacode <- sprintf("ascii_SGLD(; stepsize_a = %ff0, stepsize_b = %ff0, stepsize_gamma = %ff0, min_stepsize = Float32(%s))", + juliacode <- sprintf("ascii_SGLD(; stepsize_a = Float32(%e), stepsize_b = Float32(%e), stepsize_gamma = Float32(%e), min_stepsize = Float32(%s))", stepsize_a, stepsize_b, stepsize_gamma, min_stepsize) JuliaCall::julia_command(sprintf("%s = %s;", juliavar, juliacode)) @@ -82,7 +82,7 @@ sampler.AdaptiveMH <- function(bnn, t0, sd, eps=1e-6){ sym.C0, sym.C0)) juliavar <- get_random_symbol() - juliacode <- sprintf("AdaptiveMH(%s, %i, %ff0, %ff0)", + juliacode <- sprintf("AdaptiveMH(%s, %i, Float32(%e), Float32(%e))", sym.C0, t0, sd, eps) JuliaCall::julia_command(sprintf("%s = %s;", juliavar, juliacode)) @@ -130,7 +130,7 @@ sampler.GGMC <- function(beta = 0.1, l = 1.0, JuliaCall::julia_source(system.file("Julia/ascii-translate.jl", package = "BayesFluxR")) juliavar <- get_random_symbol() - juliacode <- sprintf("ascii_GGMC(; beta = %ff0, l = %ff0, sadapter = %s, madapter = %s, steps = %i)", + juliacode <- sprintf("ascii_GGMC(; beta = Float32(%e), l = Float32(%e), sadapter = %s, madapter = %s, steps = %i)", beta, l, sadapter$juliavar, madapter$juliavar, steps) JuliaCall::julia_command(sprintf("%s = %s;", @@ -183,7 +183,7 @@ sampler.HMC <- function(l, path_len, sadapter = sadapter.DualAverage(1000), madapter = madapter.FixedMassMatrix()){ juliavar <- get_random_symbol() - juliacode <- sprintf("HMC(%ff0, %i; sadapter = %s, madapter = %s)", + juliacode <- sprintf("HMC(Float32(%e), %i; sadapter = %s, madapter = %s)", l, path_len, sadapter$juliavar, madapter$juliavar) JuliaCall::julia_command(sprintf("%s = %s;", juliavar, juliacode)) @@ -238,7 +238,7 @@ sampler.SGNHTS <- function(l, sigmaA = 1, xi = 1, mu = 1, JuliaCall::julia_source(system.file("Julia/ascii-translate.jl", package = "BayesFluxR")) juliavar <- get_random_symbol() - juliacode <- sprintf("ascii_SGNHTS(%ff0, %ff0; xi = %ff0, mu = %ff0, madapter = %s)", + juliacode <- sprintf("ascii_SGNHTS(Float32(%e), Float32(%e); xi = Float32(%e), mu = Float32(%e), madapter = %s)", l, sigmaA, xi, mu, madapter$juliavar) JuliaCall::julia_command(sprintf("%s = %s;", diff --git a/R/mode-finding.R b/R/mode-finding.R index 535b7e8..c6b7d08 100644 --- a/R/mode-finding.R +++ b/R/mode-finding.R @@ -29,7 +29,7 @@ #' @export opt.Descent <- function(eta = 0.1){ juliavar <- get_random_symbol() - juliacode <- sprintf("Flux.Descent(%f)", + juliacode <- sprintf("Flux.Descent(%e)", eta) JuliaCall::julia_command(sprintf("%s = %s;", @@ -63,7 +63,7 @@ opt.Descent <- function(eta = 0.1){ #' @export opt.ADAM <- function(eta = 0.001, beta = c(0.9, 0.999), eps = 1e-8){ juliavar <- get_random_symbol() - juliacode <- sprintf("Flux.ADAM(%f, (%f, %f), %f)", + juliacode <- sprintf("Flux.ADAM(%e, (%e, %e), %e)", eta, beta[1], beta[2], eps) JuliaCall::julia_command(sprintf("%s = %s;", juliavar, juliacode)) @@ -96,7 +96,7 @@ opt.ADAM <- function(eta = 0.001, beta = c(0.9, 0.999), eps = 1e-8){ #' @export opt.RMSProp <- function(eta = 0.001, rho = 0.9, eps = 1e-8){ juliavar <- get_random_symbol() - juliacode <- sprintf("Flux.RMSProp(%f, %f, %f)", + juliacode <- sprintf("Flux.RMSProp(%e, %e, %e)", eta, rho, eps) JuliaCall::julia_command(sprintf("%s = %s;", juliavar, juliacode)) diff --git a/R/priors.R b/R/priors.R index 598f08b..0aa05f4 100644 --- a/R/priors.R +++ b/R/priors.R @@ -31,7 +31,7 @@ #' #' @export prior.gaussian <- function(chain, sigma){ - juliacode <- sprintf("GaussianPrior(%s, %ff0)", + juliacode <- sprintf("GaussianPrior(%s, Float32(%e))", chain$nc, sigma) juliavar <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", @@ -74,7 +74,7 @@ prior.gaussian <- function(chain, sigma){ #' #' @export prior.mixturescale <- function(chain, sigma1, sigma2, pi1){ - juliacode <- sprintf("MixtureScalePrior(%s, %ff0, %ff0, %ff0)", + juliacode <- sprintf("MixtureScalePrior(%s, Float32(%e), Float32(%e), Float32(%e))", chain$nc, sigma1, sigma2, pi1) juliavar <- get_random_symbol() JuliaCall::julia_command(sprintf("%s = %s;", diff --git a/tests/testthat/Manifest.toml b/tests/testthat/Manifest.toml index 404c21a..bc8e459 100644 --- a/tests/testthat/Manifest.toml +++ b/tests/testthat/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.5" +julia_version = "1.9.0" manifest_format = "2.0" project_hash = "1f9c1db68820ca0fb23307898b2467ed344aaf51" @@ -22,16 +22,32 @@ uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" version = "0.4.4" [[deps.Accessors]] -deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "StaticArrays", "Test"] +deps = ["Compat", "CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "Test"] git-tree-sha1 = "beabc31fa319f9de4d16372bff31b4801e43d32c" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" version = "0.1.28" + [deps.Accessors.extensions] + AxisKeysExt = "AxisKeys" + IntervalSetsExt = "IntervalSets" + StaticArraysExt = "StaticArrays" + StructArraysExt = "StructArrays" + + [deps.Accessors.weakdeps] + AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5" + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" + [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" version = "3.6.1" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" [[deps.ArgCheck]] git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" @@ -91,11 +107,11 @@ version = "0.1.1" [[deps.BayesFlux]] deps = ["Bijectors", "ChainRules", "Distributions", "DistributionsAD", "Flux", "LinearAlgebra", "MCMCChains", "MLUtils", "Optimisers", "Parameters", "ProgressBars", "ProgressMeter", "Random", "ReTest", "StatsBase", "StatsFuns", "StatsPlots", "Test", "Zygote"] -git-tree-sha1 = "bb106d24f4d03b5cd37c873a3b68fca5619a80b2" +git-tree-sha1 = "aa43c4658f6ec5d32c2493920a6400960bc81e89" repo-rev = "main" repo-url = "https://github.com/enweg/BayesFlux.jl.git#0774a36" uuid = "c2416e8a-86ea-414a-9a91-c37c770c1547" -version = "0.2.1" +version = "0.2.2" [[deps.Bijectors]] deps = ["ArgCheck", "ChainRulesCore", "ChangesOfVariables", "Compat", "Distributions", "Functors", "InverseFunctions", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "MappedArrays", "Random", "Reexport", "Requires", "Roots", "SparseArrays", "Statistics"] @@ -174,10 +190,14 @@ uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" version = "1.15.7" [[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] +deps = ["LinearAlgebra", "Test"] git-tree-sha1 = "485193efd2176b88e6622a39a246f8c5b600e74e" uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" version = "0.1.6" +weakdeps = ["ChainRulesCore"] + + [deps.ChangesOfVariables.extensions] + ChangesOfVariablesChainRulesCoreExt = "ChainRulesCore" [[deps.Clustering]] deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] @@ -235,7 +255,7 @@ version = "4.6.0" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.1+0" +version = "1.0.2+0" [[deps.CompositionsBase]] git-tree-sha1 = "455419f7e328a1a2493cabc6428d79e951349769" @@ -253,6 +273,11 @@ deps = ["LinearAlgebra"] git-tree-sha1 = "89a9db8d28102b094992472d333674bd1a83ce2a" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" version = "1.5.1" +weakdeps = ["IntervalSets", "StaticArrays"] + + [deps.ConstructionBase.extensions] + IntervalSetsExt = "IntervalSets" + StaticArraysExt = "StaticArrays" [[deps.ContextVariablesX]] deps = ["Compat", "Logging", "UUIDs"] @@ -303,7 +328,9 @@ version = "0.1.2" [[deps.DelimitedFiles]] deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" [[deps.DensityInterface]] deps = ["InverseFunctions", "Test"] @@ -455,10 +482,14 @@ uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" version = "0.4.2" [[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" uuid = "f6369f11-7733-5829-9624-2563aa707210" version = "0.10.35" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] @@ -787,7 +818,7 @@ uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.36.0+0" [[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogDensityProblems]] @@ -797,10 +828,16 @@ uuid = "6fdf6af0-433a-55f7-b3ed-c6c6e0b8df7c" version = "2.1.0" [[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" version = "0.3.23" +weakdeps = ["ChainRulesCore", "ChangesOfVariables", "InverseFunctions"] + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" @@ -870,7 +907,7 @@ version = "1.1.7" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" +version = "2.28.2+0" [[deps.Measures]] git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" @@ -894,7 +931,7 @@ uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" +version = "2022.10.11" [[deps.MultivariateStats]] deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI", "StatsBase"] @@ -908,6 +945,12 @@ git-tree-sha1 = "33ad5a19dc6730d592d8ce91c14354d758e53b0e" uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd" version = "0.8.19" + [deps.NNlib.extensions] + NNlibAMDGPUExt = "AMDGPU" + + [deps.NNlib.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" + [[deps.NNlibCUDA]] deps = ["Adapt", "CUDA", "LinearAlgebra", "NNlib", "Random", "Statistics", "cuDNN"] git-tree-sha1 = "f94a9684394ff0d325cc12b06da7032d8be01aaf" @@ -967,7 +1010,7 @@ version = "0.2.3" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" +version = "0.3.21+4" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] @@ -1012,7 +1055,7 @@ version = "1.4.1" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.40.0+0" +version = "10.42.0+0" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] @@ -1044,9 +1087,9 @@ uuid = "30392449-352a-5448-841d-b1acce4e97dc" version = "0.40.1+0" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.8.0" +version = "1.9.0" [[deps.PlotThemes]] deps = ["PlotUtils", "Statistics"] @@ -1066,6 +1109,20 @@ git-tree-sha1 = "da1d3fb7183e38603fcdd2061c47979d91202c97" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" version = "1.38.6" + [deps.Plots.extensions] + FileIOExt = "FileIO" + GeometryBasicsExt = "GeometryBasics" + IJuliaExt = "IJulia" + ImageInTerminalExt = "ImageInTerminal" + UnitfulExt = "Unitful" + + [deps.Plots.weakdeps] + FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" + GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + [[deps.Preferences]] deps = ["TOML"] git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" @@ -1273,14 +1330,18 @@ uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" version = "1.1.0" [[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" version = "2.2.0" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" [[deps.SplittablesBase]] deps = ["Setfield", "Test"] @@ -1308,6 +1369,7 @@ version = "3.2.0" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] @@ -1322,10 +1384,15 @@ uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" version = "0.33.21" [[deps.StatsFuns]] -deps = ["ChainRulesCore", "HypergeometricFunctions", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" version = "1.3.0" +weakdeps = ["ChainRulesCore", "InverseFunctions"] + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" [[deps.StatsPlots]] deps = ["AbstractFFTs", "Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "LinearAlgebra", "MultivariateStats", "NaNMath", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"] @@ -1348,10 +1415,15 @@ version = "0.6.14" deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" +version = "1.0.3" [[deps.TableOperations]] deps = ["SentinelArrays", "Tables", "Test"] @@ -1374,7 +1446,7 @@ version = "1.10.0" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" +version = "1.10.0" [[deps.TensorCore]] deps = ["LinearAlgebra"] @@ -1603,7 +1675,7 @@ version = "1.4.0+3" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" +version = "1.2.13+0" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1648,9 +1720,9 @@ uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" version = "0.15.1+0" [[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" +version = "5.7.0+0" [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]