[mlpack] mlpack 3.3.0 released

Ryan Curtin ryan at ratml.org
Tue Apr 7 10:11:22 EDT 2020


Hello everyone,

Today I tagged and released mlpack 3.3.0.  It has a *lot* of new
features that I'm excited about.  In fact the HISTORY.md entries are so
long that I feel the need to actually organize them further here and
compress a bit:

 * New bindings and binding improvements:
   - Loading and saving images: `mlpack_image_converter` from the
     command-line, `mlpack.image_converter()` from Python.  This is a
     tool to manipulate images and get them to/from the right formats
     for work with mlpack. (#2019)

   - Julia bindings are now committed.  The Julia packages still need to
     be updated, but from Julia, `Pkg.add("mlpack")` now works and you
     can use all of the mlpack bindings successfully from Julia. (#1949)

  - Added `probabilities` parameter to get the probabilities matrix
    of AdaBoost classifier (#2050). (`mlpack_adaboost` from the CLI,
    `mlpack.adaboost()` from Python.)

  - Added normalization support for CF binding (#2136).

 * Neural network improvements:
  - Templated return type of `Forward function` of loss functions
    (#2339).

  - Added `R2 Score` regression metric (#2323).

  - Add padding layer in TransposedConvolutionLayer (#2082).

  - Add functions to access parameters of `Convolution` and
    `AtrousConvolution` layers (#1985).

  - Add Mish, GELU, LiSHT, CELU, Hard Shrink, and Soft Shrink activation
    functions (#2158, #2183, #2182, #2191, #2186, #2174).

  - Add Valid and Same Padding for Transposed Convolution layer (#2163).

  - Add Log-Hyperbolic-Cosine, Hinge Embedding, Cosine Embedding,
    Margin Ranking, Mean Squared Logarithmic Error, and Mean Bias loss
    functions (#2207, #2186, #2174, #2229, #2209, #2264, #2210).

  - Change neural network types to avoid unnecessary use of rvalue
    references (#2259).

 * Bugfixes:

  - Fix STB header search paths (#2104, #2145).

  - Add `DISABLE_DOWNLOADS` CMake configuration option (#2104).

  - Fix pkgconfig generation on non-Linux systems (#2101).

  - Use log-space to represent HMM initial state and transition
    probabilities (#2081).

  - Add ComputeError() function in lars regression and change Train
    function to return computed error (#2139).

  - Update `init_rules` in AMF to allow users to merge two
    initialization rules (#2151).

  - Better error handling of eigendecompositions and Cholesky
    decompositions (#2088, #1840).

  - Bump minimum Boost version to 1.58 (#2305).

  - Refactor STB support so `HAS_STB` macro is not needed when compiling
    against mlpack (#2312).

  - Bugfix for incorrect parameter vector sizes in logistic regression
    and softmax regression (#2359).

What else is there to say??  This is an astounding amount of code since
the last release.  Thank you everyone who has contributed!  Github now
lists 175 different mlpack contributors (and that actually undercounts a
bit!).

You can download the new release from here:

  https://www.mlpack.org/files/mlpack-3.3.0.tar.gz

or it will soon be available in your package manager of choice.  If you
have any problems, please do feel free to report them on Github at
https://github.com/mlpack/mlpack/ or in the chat---there are many ways
to access the chat, detailed here:
  https://www.mlpack.org/community.html#real-time-chat

I'm hoping to get closer to an automated release process in the future,
just like ensmallen has set up.  That will make releasing more often an
easy possibility (and remove me as a bottleneck!)

But, there is one question... ensmallen has release names (just like
Armadillo); e.g., this release is "Stir Crazy", the last one was "The
Poster Session Is Full"... should we do the same for future mlpack
releases?  The names are totally arbitrary, of course.

-- 
Ryan Curtin    | "...I still don't know what it means."
ryan at ratml.org |   - Rigby Reardon


More information about the mlpack mailing list