CmdStan v2.10.0 released!

52 views
Skip to first unread message

Daniel Lee

unread,
Jun 23, 2016, 1:49:18 PM6/23/16
to stan-dev mailing list
Hi all,

CmdStan v2.10.0 has been released: https://github.com/stan-dev/cmdstan/releases/tag/v2.10.0

Most of the changes in CmdStan are due to improvements in the Stan library. Below are the user-facing changes in Stan v2.10.0. For more information, see the full release notes for Stan: https://github.com/stan-dev/stan/releases/tag/v2.10.0

New User-Facing Features
--------------------------------------------------
* introduction of = for assignment; deprecating <- (#1819)
* _lpdf, _lpmf, _lcdf, _lccdf and vertical bar notation
  for probability mass, density, and cumulative distribution
  functions; update user-defined function syntax;
  deprecate older forms (#1811)
* target += lp to replace increment_log_prob(lp); target() to rpelace
  log_prob() function;  remove lp__ variable access (#1800)
* conditional (ternary) operator (#1125)
* stiff diff eq solver CVODES from Sundials
* add control parameters (tolerance, max iteraitons) to ODE solvers
* rename ODE solvers based on algorithm, integrate_ode_rk45
  for existing non-stiff Runge-Kutta solver and integrate_ode_bdf
  for the stiff backward differentiation form;  deprecate
  the unmarked integrate_ode function (#1886)
* limiting diff eq iterations in solvers (Boost/CVODES)
* unit_vector as parameter (#1713) [it never worked in the past]
* rename multiply_log and log_binomial_coefficient
  to lmultiply and lchoose (also part of #1811)
* incomplete beta function as inc_beta (#1540)


Daniel


P.S. Rob, please start testing with this version. If there are any issues, please let me know.

Rob J. Goedman

unread,
Jun 23, 2016, 3:56:07 PM6/23/16
to stan...@googlegroups.com
Hi Daniel,

Thanks for the release message.

Testing shows that issues 1 and 3 have been resolved.

Issue 2 remains. Is there a reason those last 4 lines in the .csv files are commented out? The entire .csv file now consists of comment lines.

Regards,
Rob

---------------------------------------------------------------


# stan_version_major = 2
# stan_version_minor = 10
# stan_version_patch = 0
# model = bernoulli_model
# method = diagnose
#   diagnose
#     test = gradient (Default)
#       gradient
#         epsilon = 9.9999999999999995e-07 (Default)
#         error = 9.9999999999999995e-07 (Default)
# id = 1
# data
#   file = bernoulli_1.data.R
# init = 2 (Default)
# random
#   seed = 2246668993
# output
#   file = bernoulli_diagnose_1.csv
#   diagnostic_file =  (Default)
#   refresh = 100 (Default)
#  Log probability=-10.5532
#  param idx           value           model     finite diff           error
#          0        0.728348        -4.09331        -4.09331    -5.31768e-10

On Jun 21, 2016, at 13:13, Rob J. Goedman <goe...@icloud.com> wrote:

Hi,

I’ve started testing bit with v2.10.0 and ran into a few issues.

The output of the diagnose method:

# stan_version_major = 2
# stan_version_minor = 9
# stan_version_patch = 0
# model = bernoulli_model
# method = diagnose
#   diagnose
#     test = gradient (Default)
#       gradient
#         epsilon = 9.9999999999999995e-07 (Default)
#         error = 9.9999999999999995e-07 (Default)
# id = 1
# data
#   file = bernoulli_1.data.R
# init = 2 (Default)
# random
#   seed = 2073302974
# output
#   file = bernoulli_diagnose_1.csv
#   diagnostic_file =  (Default)
#   refresh = 100 (Default)
#  Log probability=-7.81905
#  param idx           value           model     finite diff           error
#          0       -0.331304        -1.01508        -1.01508    -3.54424e-10

Issue 1: Minor version incorrect? Looking at the link output, e.g. boost_1.60.0 and linking the sundials_cvodes library, I think it is v2.10.0

--- Translating Stan model to C++ code ---
bin/stanc /Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli.stan --o=/Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli.hpp
Model name=bernoulli_model
Input file=/Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli.stan
Output file=/Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli.hpp

--- Linking C++ model ---
clang++ -I src -I stan/src -isystem stan/lib/stan_math/ -isystem stan/lib/stan_math/lib/eigen_3.2.8 -isystem stan/lib/stan_math/lib/boost_1.60.0 -isystem stan/lib/stan_math/lib/cvodes_2.8.2/include -Wall -DEIGEN_NO_DEBUG  -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -DFUSION_MAX_VECTOR_SIZE=12 -DNO_FPRINTF_OUTPUT -pipe  -Wno-unused-function -Wno-tautological-compare -Wno-c++11-long-long -ftemplate-depth=256    -O3 -o /Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli src/cmdstan/main.cpp -include /Users/rob/.julia/v0.4/Stan/Examples/Bernoulli/tmp/bernoulli.hpp stan/lib/stan_math/lib/cvodes_2.8.2/lib/libsundials_nvecserial.a stan/lib/stan_math/lib/cvodes_2.8.2/lib/libsundials_cvodes.a 

Issue 2: It seems the last 4 lines of the output files are now commented out, is that intended?

Issue 3: I have not looked in detail what is happening here, but for some reason the dyes and kids examples no longer sample properly. In the case of the kids example, in fact 1 chain does sample somewhat, 3 others are constant. In the case of te dyes example, all are constant. Not sure what changed here. E.g.:


-- 
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<kid-summaryplot-1.pdf>

Switching back to v2.9.0 fixes both examples.

Regards,
Rob


--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Lee

unread,
Jun 23, 2016, 4:09:40 PM6/23/16
to stan-dev mailing list
That was under diagnose mode? I wasn't too careful and the behavior might have changed, but the values there were never written out as csv. Is that an issue?

Rob J. Goedman

unread,
Jun 23, 2016, 4:42:08 PM6/23/16
to stan...@googlegroups.com
Hi Daniel,

This .csv file (indeed under diagnose mode) used to look like below example. Similar to the optimize mode output .csv file.

Stan.jl reads the file, auto-skipping comment lines and than extract the 'Log probability’ value, and the values on the last line.

A bit cleaner than if I have to search the file for the ‘Log probability’  string and then skip to the last line.

This will likely all change when these file formats are improved (as is under discussion).

Regards,
Rob

————————————————

# stan_version_major = 2
# stan_version_minor = 9
# stan_version_patch = 0
# model = bernoulli_model
# method = diagnose
#   diagnose
#     test = gradient (Default)
#       gradient
#         epsilon = 9.9999999999999995e-07 (Default)
#         error = 9.9999999999999995e-07 (Default)
# id = 1
# data
#   file = bernoulli_1.data.R
# init = 2 (Default)
# random
#   seed = 2246668993
# output
#   file = bernoulli_diagnose_1.csv
#   diagnostic_file =  (Default)
#   refresh = 100 (Default)
Log probability=-10.5532
 
param idx           value           model     finite diff           error
         0        0.728348        -4.09331        -4.09331    -5.31768e-10

Reply all
Reply to author
Forward
0 new messages