1.4.0
- Add smile-netlib module that leverages native BLAS/LAPACK for matrix computation. See below for the details how to enable it.
- Add t-SNE implementation.
- Improve LLE and Laplacian Eigenmaps performance.
- Export DecisionTree and RegressionTree to Graphviz dot file for visualization.
- Smile shell is now based on Scala 2.12.
- Bug fixes.
To enable machine optimized matrix computation, the users should add
the dependency of smile-netlib:
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-netlib</artifactId>
<version>1.4.0</version>
</dependency>
and also make their machine-optimised libblas3 (CBLAS) and liblapack3 (Fortran)
available as shared libraries at runtime.
OS X
Apple OS X requires no further setup as it ships with the veclib framework.
Linux
Generically-tuned ATLAS and OpenBLAS are available with most distributions
and must be enabled explicitly using the package-manager. For example,
- sudo apt-get install libatlas3-base libopenblas-base
- sudo update-alternatives --config libblas.so
- sudo update-alternatives --config libblas.so.3
- sudo update-alternatives --config liblapack.so
- sudo update-alternatives --config liblapack.so.3
However, these are only generic pre-tuned builds. If you have an Intel MKL licence,
you could also create symbolic links from libblas.so.3 and liblapack.so.3 to libmkl_rt.so
or use Debian's alternatives system.
Windows
The native_system builds expect to find libblas3.dll and liblapack3.dll
on the %PATH% (or current working directory). Besides vendor-supplied
implementations, OpenBLAS provide generically tuned binaries, and it
is possible to build ATLAS.