👀 1. 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. 🐎 3. 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. 🛠 6. 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.
Apple OS X requires no further setup as it ships with the veclib framework.
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.
🏗 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.
🐛 Bug fixes.
- A new design of matrix library
- Native matrix computation based on ND4j
- Scala DSL for matrix computation ⚡️ 4. Update project website 🛠 5. Various bug fixes.