Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Release for DynamicHMC update #47

Closed
itsdfish opened this issue Sep 7, 2019 · 7 comments
Closed

New Release for DynamicHMC update #47

itsdfish opened this issue Sep 7, 2019 · 7 comments

Comments

@itsdfish
Copy link
Collaborator

itsdfish commented Sep 7, 2019

@JuliaRegistrator register() MCMCBenchmarks v0.5.1

@JuliaRegistrator
Copy link

Registration pull request created: JuliaRegistries/General/3356

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:

git tag -a v0.5.1 -m "<description of version>" 606b2ee3916b3723f5c6fd2cb8854ff584731522
git push origin v0.5.1

@goedman
Copy link
Member

goedman commented Sep 8, 2019

Hi Chris,

In the latest Travis test there is a mismatch between the [deps] section in Project.toml (which specifies DynamicHMC = "^2") and Manifest.toml which specifies DynamicHMC=1.0.6.

I think you need DynamicHMC = "^1" in Project.toml.

In DynamicHMCModels.jl I have been experimenting a bit with converting to DynamicHMC 2.0.2 but haven't completed that yet. It is interesting to see that ForwardDiff for SR's smaller models is way faster than Flux.

Rob

@itsdfish
Copy link
Collaborator Author

itsdfish commented Sep 8, 2019

Thanks, Rob. I did not notice that. I changed it to "^2" because other packages throw a unsatisfiable constraint error. Do you have any recommendations for correcting it?

Yeah. I have observed similar results with the different ADs. I also found disappointing results for the reverse mode auto diffs.

100 data points for the Gaussian:

ForwardDiff: .75
Flux (reverse): 4.77

10000 data points for the Gaussian:

ForwardDiff: 13.85
Flux (reverse): 791.93
Zygote: error

10 data points for the Poisson Regression:

ForwardDiff: 61.24
Flux (reverse): 484.28
Zygote: > 60 min (manual termination)

@goedman
Copy link
Member

goedman commented Sep 8, 2019 via email

@itsdfish
Copy link
Collaborator Author

itsdfish commented Sep 8, 2019

It looks like based on the docs, "^1" provides a range between 1 and 2, where 2 is not included. I think this fails because DynamicHMC is at 2.0.1 I'm not sure why the manifest.toml file is not consistent with the project.toml file.

@goedman
Copy link
Member

goedman commented Sep 8, 2019

You can't use DynamicHMC 2.0.1 (unless you update the API, which is different). If the problem comes from LogDensityProblems (as was the case on my system) I did something like:

] 
rm LogDensityProblems DynamicHMC
add [email protected]

This should update Manifest.toml (version info is not kept in Project.toml). Manifest.toml should now specify DynamicHMC v1.0.6 and LogDensityProblems v8

@itsdfish
Copy link
Collaborator Author

itsdfish commented Sep 8, 2019

Gotcha. I did update the API so that MCMCBenchmarks is now compatible with DynamicHMC 2.0.1. This was the motivation for issuing a new release.

(v1.1) pkg> st MCMCBenchmarks
    Status `~/.julia/environments/v1.1/Project.toml`
  [0bf59076] AdvancedHMC v0.2.4
  [6e4b80f9] BenchmarkTools v0.4.3
  [336ed68f] CSV v0.5.12
  [593b3428] CmdStan v5.1.1
  [a93c6f00] DataFrames v0.19.4
  [31c24e10] Distributions v0.21.1
  [bbc10e6e] DynamicHMC v2.0.1
  [f6369f11] ForwardDiff v0.10.3
  [6fdf6af0] LogDensityProblems v0.9.1
  [72ce6e51] MCMCBenchmarks v0.5.1 [`~/.julia/dev/MCMCBenchmarks`]
  [c7f686f2] MCMCChains v0.3.14
  [d96e819e] Parameters v0.10.3
  [189a3867] Reexport v0.2.0
  [295af30f] Revise v2.1.10
  [276daf66] SpecialFunctions v0.7.2
  [f3b207a7] StatsPlots v0.12.0
  [84d833dd] TransformVariables v0.3.5
  [fce5fe82] Turing v0.6.23

All tests pass locally with "^2". I'm not sure why its getting an empty intersection error. I'll keep digging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants