Smile Versions Save

Statistical Machine Intelligence & Learning Engine

v1.4.0

6 years ago
  1. Add smile-netlib module that leverages native BLAS/LAPACK for matrix computation. See below for the details how to enable it.
  2. Add t-SNE implementation.
  3. Improve LLE and Laplacian Eigenmaps performance.
  4. Export DecisionTree and RegressionTree to Graphviz dot file for visualization.
  5. 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.

v1.3.1

7 years ago

Bug fixes.

v1.3.0

7 years ago
  1. A new design of matrix library
  2. Native matrix computation based on ND4j
  3. Scala DSL for matrix computation
  4. Update project website
  5. Various bug fixes.

v1.2.3

7 years ago

Various bug fixes.

v1.2.1

7 years ago
  1. Performance improvement, especially LASSO
  2. Row major matrix and column major matrix in addition to existing Matrix(double[][])
  3. Random Forest serializable
  4. Reduce the memory footprint of DecisionTree, RandomForest, etc.
  5. Scala API for Scala 2.10
  6. Bug fixes

v1.2.0

7 years ago

The key features of the 1.2.0 release are:

  • Headless plot. Smile’s plot functions depends on Java Swing. In server applications, it is needed to generate plots without creating Swing windows. With headless plot (enabled by -Djava.awt.headless=true JVM options), we can create plots as follows:
val canvas = ScatterPlot.plot(x, '.')

val headless = new Headless(canvas);
headless.pack();
headless.setVisible(true);

canvas.save(new java.io.File("zone.png"))

  • All classification and regression models can be serialized by
write(model) // Java serialization

or

write.xstream(model) // XStream serialization
  • Refactor of smile.io Scala API.
    • Parsers are in smile.read object.
    • Parse JDBC ResultSet to AttributeDataset.
    • Model serialization methods in smile.write object.
  • Platt scaling for SVM
  • Smile NLP tokenizers are unicode-aware.
  • Least squares can handle rank deficient now.
  • Various code improvements.

v1.1.0

8 years ago

Smile 1.1.0 rocks the new Scala API and shell for quick development.