Skip to content

Commit

Permalink
Merge branch 'master' into mlpack-3.x
Browse files Browse the repository at this point in the history
  • Loading branch information
rcurtin committed Jun 8, 2018
2 parents 81ad1d8 + 6e0df87 commit 0ace41c
Show file tree
Hide file tree
Showing 79 changed files with 6,331 additions and 598 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ endif ()

# Make a target to generate the man page documentation, but only if we are on a
# UNIX-like system.
if (UNIX)
if (BUILD_CLI_EXECUTABLES AND UNIX)
find_program(TXT2MAN txt2man)

# It's not a requirement that we make man pages.
Expand Down
14 changes: 8 additions & 6 deletions COPYRIGHT.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Copyright:
Copyright 2012, Patrick Mason <patrick.s.mason@gmail.com>
Copyright 2013-2018, Marcus Edel <marcus.edel@fu-berlin.de>
Copyright 2013, Mudit Raj Gupta <mudit.raaj.gupta@gmail.com>
Copyright 2013, Sumedh Ghaisas <sumedhghaisas@gmail.com>
Copyright 2013-2018, Sumedh Ghaisas <sumedhghaisas@gmail.com>
Copyright 2014, Michael Fox <michaelfox99@gmail.com>
Copyright 2014, Ryan Birmingham <birm@gatech.edu>
Copyright 2014, Siddharth Agrawal <siddharth.950@gmail.com>
Expand All @@ -48,14 +48,14 @@ Copyright:
Copyright 2015, Joseph Mariadassou <joe.mariadassou@gmail.com>
Copyright 2015, Pavel Zhigulin <pashaworking@gmail.com>
Copyright 2016, Andy Fang <AndyFang.DZ@gmail.com>
Copyright 2016, Barak Pearlmutter <barak+git@pearlmutter.net>
Copyright 2016-2018, Barak Pearlmutter <barak+git@pearlmutter.net>
Copyright 2016, Ivari Horm <ivari@risk.ee>
Copyright 2016, Dhawal Arora <d.p.arora1@gmail.com>
Copyright 2016, Alexander Leinoff <alexander-leinoff@uiowa.edu>
Copyright 2016, Palash Ahuja <abhor902@gmail.com>
Copyright 2016, Yannis Mentekidis <mentekid@gmail.com>
Copyright 2016, Ranjan Mondal <ranjan.rev@gmail.com>
Copyright 2016, Mikhail Lozhnikov <lozhnikovma@gmail.com>
Copyright 2016-2018, Mikhail Lozhnikov <lozhnikovma@gmail.com>
Copyright 2016, Marcos Pividori <marcos.pividori@gmail.com>
Copyright 2016, Keon Kim <kwk236@gmail.com>
Copyright 2016, Nilay Jain <nilayjain13@gmail.com>
Expand Down Expand Up @@ -84,9 +84,9 @@ Copyright:
Copyright 2017, N Rajiv Vaidyanathan <rajivvaidyanathan4@gmail.com>
Copyright 2017, Kartik Nighania <kartiknighania@gmail.com>
Copyright 2017-2018, Eugene Freyman <evg.freyman@gmail.com>
Copyright 2017, Manish Kumar <manish887kr@gmail.com>
Copyright 2017, Haritha Sreedharan Nair <haritha1313@gmail.com>
Copyright 2017&2018, Sourabh Varshney <sourabhvarshney111@gmail.com>
Copyright 2017-2018, Manish Kumar <manish887kr@gmail.com>
Copyright 2017-2018, Haritha Sreedharan Nair <haritha1313@gmail.com>
Copyright 2017-2018, Sourabh Varshney <sourabhvarshney111@gmail.com>
Copyright 2018, Projyal Dev <projyal@gmail.com>
Copyright 2018, Nikhil Goel <nikhilgoel199797@gmail.com>
Copyright 2018, Shikhar Jaiswal <jaiswalshikhar87@gmail.com>
Expand All @@ -101,6 +101,8 @@ Copyright:
Copyright 2018, Namrata Mukhija <namratamukhija@gmail.com>
Copyright 2018, Conrad Sanderson
Copyright 2018, Thanasis Mattas <mattasa@auth.gr>
Copyright 2018, Shashank Shekhar <contactshashankshekhar@gmail.com>
Copyright 2018, Yasmine Dumouchel <yasmine.dumouchel@gmail.com>

License: BSD-3-clause
All rights reserved.
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = mlpack
PROJECT_NUMBER = 3.0.1
PROJECT_NUMBER = 3.0.2
OUTPUT_DIRECTORY = ./doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
Expand Down
17 changes: 17 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
### mlpack 3.0.2
###### 2018-06-08
* Documentation generation fixes for Python bindings (#1421).

* Fix build error for man pages if command-line bindings are not being built
(#1424).

* Add 'shuffle' parameter and Shuffle() method to KFoldCV (#1412). This will
shuffle the data when the object is constructed, or when Shuffle() is
called.

* Added neural network layers: AtrousConvolution (#1390), Embedding (#1401),
and LayerNorm (layer normalization) (#1389).

* Add Pendulum environment for reinforcement learning (#1388) and update
Mountain Car environment (#1394).

### mlpack 3.0.1
###### 2018-05-10
* Fix intermittently failing tests (#1387).
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ src/mlpack/core/boost_backport/ and more details on the licensing are available
there.

----
Copyright (c) 2007-2016, mlpack contributors (see COPYRIGHT.txt)
Copyright (c) 2007-2018, mlpack contributors (see COPYRIGHT.txt)
All rights reserved.

Redistribution and use of mlpack in source and binary forms, with or without
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ src="https://cdn.rawgit.com/mlpack/mlpack.org/e7d36ed8/mlpack-black.svg" style="
<p align="center">
<em>
Download:
<a href="http://www.mlpack.org/files/mlpack-3.0.0.tar.gz">current stable version (3.0.0)</a>
<a href="http://www.mlpack.org/files/mlpack-3.0.2.tar.gz">current stable version (3.0.2)</a>
</em>
</p>

Expand Down Expand Up @@ -106,6 +106,11 @@ with the following command:

$ sudo apt-get install libmlpack-dev

Note: Older Ubuntu versions may not have the most recent version of mlpack
available---for instance, at the time of this writing, Ubuntu 16.04 only has
mlpack 2.0.1 available. Options include upgrading your Ubuntu version, finding
a PPA or other non-official sources, or installing with a manual build.

There are some other useful pages to consult in addition to this section:

- [Building mlpack From Source](http://www.mlpack.org/docs/mlpack-git/doxygen/build.html)
Expand Down
48 changes: 41 additions & 7 deletions doc/guide/build.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ with the following command:
$ sudo apt-get install libmlpack-dev
@endcode
@note Older Ubuntu versions may not have the most recent version of mlpack
available---for instance, at the time of this writing, Ubuntu 16.04 only has
mlpack 2.0.1 available. Options include upgrading Ubuntu to a newer release,
finding a PPA or other non-official sources, or installing with a manual build
(below).
If mlpack is not available in your system's package manager, then you can follow
this document for how to compile and install mlpack from source.
Expand All @@ -22,17 +28,17 @@ to build mlpack on Windows, see <a
href="https://keon.io/mlpack-on-windows/">Keon's excellent tutorial</a>.
You can download the latest mlpack release from here:
<a href="http://www.mlpack.org/files/mlpack-3.0.1.tar.gz">mlpack-3.0.1</a>
<a href="http://www.mlpack.org/files/mlpack-3.0.2.tar.gz">mlpack-3.0.2</a>
@section build_simple Simple Linux build instructions
Assuming all dependencies are installed in the system, you can run the commands
below directly to build and install mlpack.
@code
$ wget http://www.mlpack.org/files/mlpack-3.0.1.tar.gz
$ tar -xvzpf mlpack-3.0.1.tar.gz
$ mkdir mlpack-3.0.1/build && cd mlpack-3.0.1/build
$ wget http://www.mlpack.org/files/mlpack-3.0.2.tar.gz
$ tar -xvzpf mlpack-3.0.2.tar.gz
$ mkdir mlpack-3.0.2/build && cd mlpack-3.0.2/build
$ cmake ../
$ make -j4 # The -j is the number of cores you want to use for a build.
$ sudo make install
Expand All @@ -41,6 +47,13 @@ below directly to build and install mlpack.
If the \c cmake \c .. command fails, you are probably missing a dependency, so
check the output and install any necessary libraries. (See \ref build_dep.)
On many Linux systems, mlpack will install by default to @c /usr/local/lib and
you may need to set the @c LD_LIBRARY_PATH environment variable:
@code
export LD_LIBRARY_PATH=/usr/local/lib
@endcode
The instructions above are the simplest way to get, build, and install mlpack.
The sections below discuss each of those steps in further detail and show how to
configure mlpack.
Expand All @@ -50,8 +63,8 @@ configure mlpack.
First we should unpack the mlpack source and create a build directory.
@code
$ tar -xvzpf mlpack-3.0.1.tar.gz
$ cd mlpack-3.0.1
$ tar -xvzpf mlpack-3.0.2.tar.gz
$ cd mlpack-3.0.2
$ mkdir build
@endcode
Expand Down Expand Up @@ -195,6 +208,27 @@ If you wish to install mlpack to the system, make sure you have root privileges
You can now run the executables by name; you can link against mlpack with
\c -lmlpack, and the mlpack headers are found in \c /usr/include or
\c /usr/local/include (depending on the system and CMake configuration).
\c /usr/local/include (depending on the system and CMake configuration). If
Python bindings were installed, they should be available when you start Python.
@section build_run Using mlpack without installing
If you would prefer to use mlpack after building but without installing it to
the system, this is possible. All of the command-line programs in the
@c build/bin/ directory will run directly with no modification.
For running the Python bindings from the build directory, the situation is a
little bit different. You will need to set the following environment variables:
@code
export LD_LIBRARY_PATH=/path/to/mlpack/build/lib/:${LD_LIBRARY_PATH}
export PYTHONPATH=/path/to/mlpack/build/src/mlpack/bindings/python/:${PYTHONPATH}
@endcode
(Be sure to substitute the correct path to your build directory for
`/path/to/mlpack/build/`.)
Once those environment variables are set, you should be able to start a Python
interpreter and `import mlpack`, then use the Python bindings.
*/
14 changes: 11 additions & 3 deletions doc/guide/python_quickstart.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,20 @@ build and install mlpack. You can copy-paste the commands into your shell.
@code{.sh}
sudo apt-get install libboost-all-dev g++ cmake libarmadillo-dev python-pip wget
sudo pip install cython setuptools distutils numpy pandas
wget http://www.mlpack.org/files/mlpack-3.0.1.tar.gz
tar -xvzpf mlpack-3.0.1.tar.gz
mkdir -p mlpack-3.0.1/build/ && cd mlpack-3.0.1/build/
wget http://www.mlpack.org/files/mlpack-3.0.2.tar.gz
tar -xvzpf mlpack-3.0.2.tar.gz
mkdir -p mlpack-3.0.2/build/ && cd mlpack-3.0.2/build/
cmake ../ && make -j4 && sudo make install
@endcode
More information on the build process and details can be found on the @ref build
page. You may also need to set the environment variable @c LD_LIBRARY_PATH to
include @c /usr/local/lib/ on most Linux systems.
@code
export LD_LIBRARY_PATH=/usr/local/lib/
@endcode
You can also use the mlpack Docker image on Dockerhub, which has all of the
Python bindings pre-installed:
Expand Down
11 changes: 7 additions & 4 deletions doc/joss_paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ @article{halevy2009unreasonable
number={2},
pages={8--12},
year={2009},
publisher={IEEE}
publisher={IEEE},
doi={10.1109/MIS.2009.36}
}

@inproceedings{mlpack2011,
Expand All @@ -15,7 +16,8 @@ @inproceedings{mlpack2011
title={{mlpack: A Scalable C++ Machine Learning Library}},
booktitle={{BigLearning: Algorithms, Systems, and Tools for Learning at
Scale}},
year = 2011
year = 2011,
doi = {10.1.1.676.5625}
}

@article{mlpack2013,
Expand All @@ -40,7 +42,8 @@ @article{sanderson2016armadillo
author={Sanderson, C. and Curtin, R.R.},
journal={Journal of Open Source Software},
year={2016},
publisher={Journal of Open Source Software}
publisher={Journal of Open Source Software},
doi={10.21105/joss.00026}
}

@misc{xianyi2018openblas,
Expand All @@ -54,7 +57,7 @@ @misc{nvblas
title={{NVBLAS Library}},
author={{NVIDIA}},
year={2015},
howpublished={\ur;{http://docs.nvidia.com/cuda/nvblas}}
howpublished={\url{http://docs.nvidia.com/cuda/nvblas}}
}

@inproceedings{curtin2013tree,
Expand Down
4 changes: 4 additions & 0 deletions doc/joss_paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ authors:

- name: Yannis Mentekidis
orcid: 0000-0003-3860-9885
affiliation: 5

- name: Sumedh Ghaisas
orcid: 0000-0003-3753-9029
affiliation: 5

- name: Shangtong Zhang
orcid: 0000-0003-4255-1364
Expand All @@ -39,6 +41,8 @@ affiliations:
index: 3
- name: University of Alberta
index: 4
- name: None
index: 5

date: 5 April 2018
bibliography: paper.bib
Expand Down
9 changes: 8 additions & 1 deletion src/mlpack/bindings/python/print_doc_functions_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,14 @@ template<typename... Args>
std::string ProgramCall(const std::string& programName, Args... args)
{
std::ostringstream oss;
oss << ">>> " << programName << "(";
oss << ">>> ";

// Find out if we have any output options first.
std::ostringstream ossOutput;
ossOutput << PrintOutputOptions(args...);
if (ossOutput.str() != "")
oss << "output = ";
oss << programName << "(";

// Now process each input option.
oss << PrintInputOptions(args...);
Expand Down
2 changes: 2 additions & 0 deletions src/mlpack/core.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@
* - Rohan Raj <rajrohan1108@gmail.com>
* - Conrad Sanderson
* - Thanasis Mattas <mattasa@auth.gr>
* - Shashank Shekhar <contactshashankshekhar@gmail.com>
* - Yasmine Dumouchel <yasmine.dumouchel@gmail.com>
*/

// First, include all of the prerequisites.
Expand Down

0 comments on commit 0ace41c

Please sign in to comment.