diff --git a/NEWS.md b/NEWS.md index ee8222c8..b16019cf 100644 --- a/NEWS.md +++ b/NEWS.md @@ -28,34 +28,34 @@ The following optimisers are removed, as they are no longer supported by Tensorf ## Installation revamp -This release provides a few improvements to installation in greta. It should now provide more information about installation progress, and be more robust. The intention is, it should _just work_, and if it doesn't fail gracefully with some useful advice on problem solving. +This release provides a few improvements to installation in greta. It should now provide more information about installation progress, and be more robust. The intention is, it should _just work_, and if it doesn't, it should fail gracefully with some useful advice on problem solving. -* Added option to restart R + run `library(greta)` after installation (#523) -* Added installation deps object, `greta_deps_sepc()` to help simplify specifying package versions (#664) -* removed `method` and `conda` arguments from `install_greta_deps()` as they +* Added option to restart R + run `library(greta)` after installation (#523). +* Added installation deps object, `greta_deps_sepc()` to help simplify specifying package versions (#664). +* Removed `method` and `conda` arguments from `install_greta_deps()` as they were not used. -* removed `manual` argument in `install_greta_deps()`. -* added default 5 minute timer to installation processes -* Added `greta_deps_receipt()` to list the current main python packages installed. (#668) -* Added checking suite to ensure you are using valid versions of TF, TFP, and Python(#666) +* Removed `manual` argument in `install_greta_deps()`. +* Added default 5 minute timer to installation processes. +* Added `greta_deps_receipt()` to list the current main python packages installed (#668). +* Added checking suite to ensure you are using valid versions of TF, TFP, and Python(#666). * Added data `greta_deps_tf_tfp` (#666), which contains valid versions combinations of TF, TFP, and Python. -* remove `greta_nodes_install/conda_*()` options as #493 makes them defunct. -* Added option to write to a single logfile with `greta_set_install_logfile()`, and `write_greta_install_log()`, and `open_greta_install_log()` (#493) -* Added `destroy_greta_deps()` function to remove miniconda and python conda environment -* Improved `write_greta_install_log()` and `open_greta_install_log()` to use `tools::R_user_dir()` to always write to a file location. `open_greta_install_log()` will open one found from an environment variable or go to the default location. (#703) +* Remove `greta_nodes_install/conda_*()` options as #493 makes them defunct. +* Added option to write to a single logfile with `greta_set_install_logfile()`, and `write_greta_install_log()`, and `open_greta_install_log()` (#493). +* Added `destroy_greta_deps()` function to remove miniconda and python conda environment. +* Improved `write_greta_install_log()` and `open_greta_install_log()` to use `tools::R_user_dir()` to always write to a file location. `open_greta_install_log()` will open one found from an environment variable or go to the default location (#703). ## New Print methods -* New print method for `greta_mcmc_list`. This means MCMC output will be shorter and more informative. (#644) -* greta arrays now have a print method that stops them from printing too many rows into the console. Similar to MCMC print method, you can control the print output with the `n` argument: `print(object, n = )`. (#644) +* New print method for `greta_mcmc_list`. This means MCMC output will be shorter and more informative (#644). +* greta arrays now have a print method that stops them from printing too many rows into the console. Similar to MCMC print method, you can control the print output with the `n` argument: `print(object, n = )` (#644). ## Minor -* `greta_sitrep()` now checks for installations of Python, TF, and TFP +* `greta_sitrep()` now checks for installations of Python, TF, and TFP. * Slice sampler no longer needs precision = "single" to work. * greta now depends on R 4.1.0, which was released May 2021, over 3 years ago. -* export `is.greta_array()` and `is.greta_mcmc_list()` -* `restart` argument for `install_greta_deps()` and `reinstall_greta_deps()` to automatically restart R (#523) +* export `is.greta_array()` and `is.greta_mcmc_list()`. +* `restart` argument for `install_greta_deps()` and `reinstall_greta_deps()` to automatically restart R (#523). ## Internals @@ -63,16 +63,30 @@ This release provides a few improvements to installation in greta. It should now `check_*` functions. * Implemented `cli::cli_abort/warn/inform()` in place of `cli::format_error/warning/message()` + `stop/warning/message(msg, call. = FALSE)` pattern. * Uses legacy optimizer internally (Use `tf$keras$optimizers$legacy$METHOD` over `tf$keras$optimizers$METHOD`). No user impact expected. -* Update photo of Grete Hermann (#598) -* Use `%||%` internally to replace the pattern: `if (is.null(x)) x <- thing` with `x <- x %||% thing`. (#630) +* Update photo of Grete Hermann (#598). +* Use `%||%` internally to replace the pattern: `if (is.null(x)) x <- thing` with `x <- x %||% thing` (#630). * Add more explaining variables - replace `if (thing & thing & what == this)` with `if (explanation_of_thing)`. -* Refactored repeated uses of `vapply` into functions (#377, #658) +* Refactored repeated uses of `vapply` into functions (#377, #658). * Add internal data files `.deps_tf` and `.deps_tfp` to track dependencies of TF and TFP. Related to #666. +- Posterior density checks (#720): + - Don't run Geweke on CI as it takes 30 minutes to run. + - Add thinning to Geweke tests. + - Fix broken geweke tests from TF1-->TF2 change. + - Increase the number of effective samples for check_samples for lkj distribution + - Add more checks to posterior to run on CI/on each test of greta + ## Bug fixes * Fix bug where matrix multiply had dimension error before coercing to greta array. (#464) -* +- Fixes for Wishart and LKJ Correlation distributions (#729 #733 #734): + - Add bijection density to choleskied distributions. + - Note about some issues with LKJ and our normalisation constant for the density. + - Removed our custom `forward_log_det_jacobian()` function from `tf_correlation_cholesky_bijector()` (used in `lkj_correlation()`). Previously, it did not work with unknown dimensions, but it now works with them. + - Ensure wishart uses sigma_chol in scale_tril + - Wishart uses `tf$matmul(chol_draws, chol_draws, adjoint_b = TRUE)` instead of `tf_chol2symm(chol_draws)`. + - Test log prob function returns valid numeric numbers. + - Addresses issue with log prob returning NaNs--replace `FillTriangular` with `FillScaleTriL` and apply Chaining to first transpose input. # greta 0.4.5