Smile v1.4.0 Release Notes

Release Date: 2017-08-06 // over 4 years ago
  • 👀 1. Add smile-netlib module that leverages native BLAS/LAPACK for matrix computation. See below for the details how to enable it.

    1. Add t-SNE implementation. 🐎 3. Improve LLE and Laplacian Eigenmaps performance.
    2. Export DecisionTree and RegressionTree to Graphviz dot file for visualization.
    3. 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.

    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.