Skip to content
This repository has been archived by the owner on Jul 17, 2024. It is now read-only.

Commit

Permalink
Merged PR 518: Merge review/tutorials to master
Browse files Browse the repository at this point in the history
Updated the first 4 tutorials:
* [Getting started with image classification on the Raspberry Pi](/ELL/tutorials/Getting-Started-with-Image-Classification-on-the-Raspberry-Pi/)
* [Getting started with image classification in C++](/ELL/tutorials/Getting-Started-with-Image-Classification-in-Cpp/)
* [Boosting classifier accuracy by grouping categories](/ELL/tutorials/Boosting-classifier-accuracy-by-grouping-categories/)
* [Importing new models](/ELL/tutorials/Importing-new-models/)

The changes are mainly:
- Remove state from helpers and move to functions. This helps make it clear what the inputs are for each step.
- Getting started in python and Getting started in Cpp tutorials match as much as possible
- Updated text per guidelines over email. I'm sure there is more to do there.

NOTE: Other tutorials are being updated and this PR will be updated as they are done. Use this PR to add comments, address broken instructions etc., but focus on the tutorials that are in the updated list above, first.
  • Loading branch information
Byron Changuion committed Oct 2, 2017
1 parent b48bafd commit a314974
Show file tree
Hide file tree
Showing 49 changed files with 2,386 additions and 3,288 deletions.
18 changes: 9 additions & 9 deletions INSTALL-Mac.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Building the Embedded Learning Library (ELL) on macOS

ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi, Arduino. However, most of your interaction with ELL occurs on a laptop or desktop computer. The steps below describe how to build ELL on a laptop or desktop running macOS.
ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi and Arduino. Most of your interaction with ELL occurs on a laptop or desktop computer, rather than the single-board machine itself. The steps below describe how to build ELL on a laptop or desktop running macOS.

## Cloning the ELL repository

Expand All @@ -12,7 +12,7 @@ To clone the ELL repository, type

git clone https://github.com/Microsoft/ELL.git

## Prerequisites
## Prerequisites for building ELL

We recommend using the [*Homebrew*](http://brew.sh/) package manager to download and install prerequisites. Homebrew can be downloaded and installed by

Expand Down Expand Up @@ -40,7 +40,7 @@ If you already have LLVM installed, ensure that you have version 3.9. Note that
ELL uses the [*CMake*](https://cmake.org/) build system, version 3.8 or newer.

Optionally, ELL can take advantage of these additional tools:
* [*SWIG*](http://swig.org) version 3.0.12 or newer - a tool that generates Python interaces to C++ libraries. Required if you intend to use ELL from Python
* [*SWIG*](http://swig.org) version 3.0.12 or newer - a tool that generates Python interfaces to C++ libraries. Required if you intend to use ELL from Python
* [*OpenBLAS*](http://www.openblas.net/) - fast linear algebra
* *Doxygen* - code documentation

Expand All @@ -51,7 +51,7 @@ To install all of the above, type
brew install homebrew/science/openblas
brew install doxygen

## Python 3.6 and OpenCV via Miniconda
## Using ELL in Python

ELL can optionally be used from Python 3.6. We recommend using the [Miniconda](https://conda.io/miniconda.html) distribution of Python, which makes it easy to install any required Python modules. Download and install Miniconda from here <https://conda.io/miniconda.html>.

Expand All @@ -63,21 +63,21 @@ Next, activate the environment you just created by typing

source activate py36

You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to ativate the `py36` environment before building ELL, to ensure that Python interfaces are created.
You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to activate the `py36` environment before building ELL, to ensure that Python interfaces are created.

For computer vision tasks, we recommend capturing and preprocessing images using *OpenCV*. To install OpenCV in the current Python environment, type

conda install -c conda-forge opencv

## Building ELL

We build ELL by using CMake to create a makefile, invoking that makefile, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` miniconda environment as described above.
We build ELL by using CMake to create a makefile, invoking that makefile, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` miniconda environment as described above.

In the repository root directory, create a `build` subdirectory and change to that directory.

mkdir build
cd build

Invoke CMake by typing

cmake ..
Expand All @@ -88,11 +88,11 @@ Don't forget the two dots (..) at the end of the command! This creates a makefil

Optionally, build Python interfaces by typing

make _ELL_python
make _ELL_python

The generated executables will appear in `ELL/build/bin`.

# Advanced Installation

See our [advanced installation instructions](INSTALL-Advanced.md).
The instructions above are enough to start using ELL. For more advanced topics, like testing and generating documentation, please see our [advanced installation instructions](INSTALL-Advanced.md).

19 changes: 9 additions & 10 deletions INSTALL-Ubuntu.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Building the Embedded Learning Library (ELL) on Ubuntu Linux

ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi, Arduino. However, most of your interaction with ELL occurs on a laptop or desktop computer. The steps below describe how to build ELL on a laptop or desktop running Ubuntu Linux.
ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi and Arduino. Most of your interaction with ELL occurs on a laptop or desktop computer, rather than the single-board machine itself. The steps below describe how to build ELL on a laptop or desktop running Ubuntu Linux.

## Cloning the ELL repository

Expand All @@ -12,7 +12,7 @@ To clone the ELL repository, type

git clone https://github.com/Microsoft/ELL.git

## Prerequisites
## Prerequisites for building ELL

We recommend using the `apt-get` package manager to download and install prerequisites. First, make sure that apt-get is up to date by

Expand All @@ -21,7 +21,7 @@ We recommend using the `apt-get` package manager to download and install prerequ
### gcc 5, CMake 3.8, libedit, zlib, OpenBLAS, and Doxygen via apt-get

ELL requires the following tools and libraries, some of which are installed by default on Ubuntu systems:
* *gcc 5* or newer - C++14 compiler
* *gcc 5* or newer - C++14 compiler
* [*CMake*](https://cmake.org/) version 3.8 or newer - build system
* *libedit* and *zlib* libraries

Expand Down Expand Up @@ -50,13 +50,13 @@ and look for the version number. If the version number is 3.9 or greater, you ca

### SWIG 3.0.12

[*SWIG*](http://swig.org) is a tool that generates Python interaces to C++ libraries. If you intend to use ELL from Python, you must install SWIG version 3.0.12 or newer. At the time of writing this document, `apt-get` doesn't yet have the latest version of `SWIG`, so it must be installed manually
[*SWIG*](http://swig.org) is a tool that generates Python interfaces to C++ libraries. If you intend to use ELL from Python, you must install SWIG version 3.0.12 or newer. At the time of writing this document, `apt-get` doesn't yet have the latest version of `SWIG`, so it must be installed manually

wget http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz
tar zxvf swig-3.0.12.tar.gz && cd swig-3.0.12
./configure --without-pcre && make && sudo make install

## Python 3.6 and OpenCV via Miniconda
## Using ELL in Python

ELL can optionally be used from Python 3.6. We recommend using the [Miniconda](https://conda.io/miniconda.html) distribution of Python, which makes it easy to install any required Python modules. Download and install Miniconda from here <https://conda.io/miniconda.html>.

Expand All @@ -68,15 +68,15 @@ Next, activate the environment you just created by typing

source activate py36

You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to ativate the `py36` environment before building ELL, to ensure that Python interfaces are created.
You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to activate the `py36` environment before building ELL, to ensure that Python interfaces are created.

For computer vision tasks, we recommend capturing and preprocessing images using *OpenCV*. To install OpenCV in the current Python environment, type

conda install -c conda-forge opencv

## Building ELL

We build ELL by using CMake to create a makefile, invoking that makefile, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` miniconda environment as described above.
We build ELL by using CMake to create a makefile, invoking that makefile, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` miniconda environment as described above.

In the repository root directory, create a `build` subdirectory and change to that directory.

Expand All @@ -93,11 +93,10 @@ Don't forget the two dots (..) at the end of the command! This creates a makefil

Optionally, build Python interfaces by typing

make _ELL_python
make _ELL_python

The generated executables will appear in `ELL/build/bin`.

# Advanced Installation

See our [advanced installation instructions](INSTALL-Advanced.md).

The instructions above are enough to start using ELL. For more advanced topics, like testing and generating documentation, please see our [advanced installation instructions](INSTALL-Advanced.md).
25 changes: 12 additions & 13 deletions INSTALL-Windows.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Building a 64-bit version of the Embedded Learning Library (ELL) on Windows

ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi, Arduino. However, most of your interaction with ELL occurs on a laptop or desktop computer. The steps below describe how to build ELL on a laptop or desktop running Windows.
ELL enables you to design and deploy intelligent machine-learned models onto single-board computers, like Raspberry Pi and Arduino. Most of your interaction with ELL occurs on a laptop or desktop computer, rather than the single-board machine itself. The steps below describe how to build ELL on a laptop or desktop running Windows.

## Cloning the ELL repository

The instructions below assume that ELL was obtained from `github.com/Microsoft/ELL` using *git*. For example, one way of doing this is to download and install the git command line tools from <https://git-scm.com/download> and then clone the ELL repository by opening a command prompt and typing
The instructions below assume that ELL was obtained from `github.com/Microsoft/ELL` using *git*. For example, one way of doing this is to download and install the git command line tools from <https://git-scm.com/download> and then clone the ELL repository by opening a command prompt and typing

git clone https://github.com/Microsoft/ELL.git

## Prerequisites
## Prerequisites for building ELL

### Visual Studio

Expand All @@ -20,21 +20,21 @@ ELL uses the [*CMake*](https://cmake.org/) build system, version 3.8 or newer. D

### LLVM 3.9, SWIG 3.0.12, OpenBlas, and Doxygen via NuGet

ELL depends on the [*LLVM*](http://llvm.org/) compiler framework, version 3.9 or newer.
ELL depends on the [*LLVM*](http://llvm.org/) compiler framework, version 3.9 or newer.

SWIG is a tool that generates Python interaces to C++ libraries. If you intend to use ELL from Python, you must install [*SWIG*](http://swig.org) version 3.0.12 or newer.
SWIG is a tool that generates Python interfaces to C++ libraries. If you intend to use ELL from Python, you must install [*SWIG*](http://swig.org) version 3.0.12 or newer.

Optionally, ELL can take advantage of these additional tools:
* [*OpenBLAS*](http://www.openblas.net/) - fast linear algebra
* *Doxygen* - code documentation

We recommend installing all of the above. An easy way to get prebuilt 64-bit versions of these packages is to use the [*NuGet*](https://www.nuget.org/) package manager, version 3.5 or newer. The relevant NuGet packages are specified in `ELL/external/packages.config`. We recommend using the NuGet command line tool called NuGet CLI, which can be downloaded from <https://docs.nuget.org/ndocs/guides/install-nuget>. After downloading and installing NuGet CLI, open a command prompt, change to the repository's root directory (`ELL`) and type
We recommend installing all of the above. An easy way to get prebuilt 64-bit versions of these packages is to use the [*NuGet*](https://www.nuget.org/) package manager, version 3.5 or newer. The relevant NuGet packages are specified in `ELL/external/packages.config`. We recommend using the NuGet command line tool called NuGet CLI, which can be downloaded from <https://docs.nuget.org/ndocs/guides/install-nuget>. After downloading and installing NuGet CLI, open a command prompt, change to the repository's root directory (`ELL`) and type

nuget.exe restore external/packages.config -PackagesDirectory external

NuGet will download the prerequisites into the `ELL/external` directory.

## Python 3.6 and OpenCV via Miniconda
## Using ELL in Python

ELL can optionally be used from Python 3.6. We recommend using the [Miniconda](https://conda.io/miniconda.html) distribution of Python, which makes it easy to install any required Python modules. Download and install Miniconda from here <https://conda.io/miniconda.html>.

Expand All @@ -46,15 +46,15 @@ Next, activate the environment you just created by

activate py36

You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to ativate the `py36` environment before building ELL, to ensure that Python interfaces are created.
You need to repeat this activation command each time you open a new terminal and intend to use ELL from Python. Also, make sure to activate the `py36` environment before building ELL, to ensure that Python interfaces are created.

For computer vision tasks, we recommend capturing and preprocessing images using *OpenCV*. To install OpenCV in the current Python environment, type

conda install -c conda-forge opencv

## Building ELL

We build ELL by using CMake to create a Visual Studio solution, building that solution, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` environment as described above.
We build ELL by using CMake to create a Visual Studio solution, building that solution, and optionally building Python interfaces. If you intend to build Python interfaces, make sure to activate the `py36` environment as described above.

In the repository root directory, create a `build` subdirectory and change to that directory.

Expand All @@ -65,7 +65,7 @@ If your installed compiler is Visual Studio 2015, invoke CMake as follows

cmake -G "Visual Studio 14 2015 Win64" ..

Don't forget the two dots (..) at the end of the command! This command creates a solution file named `ELL.sln`, and other files, in the `build` directory.
Don't forget the two dots (..) at the end of the command! This command creates a solution file named `ELL.sln`, and other files, in the `build` directory.
If your compiler is Visual Studio 2017, invoke CMake as follows

cmake -G "Visual Studio 15 2017 Win64" ..
Expand All @@ -76,9 +76,8 @@ Again, don't forget the two dots (..) at the end of the command. After creating

The project executables will appear in `ELL/build/bin`. Finally, to build ELL's Python language bindings, type

cmake --build . --target _ELL_python --config Release
cmake --build . --target _ELL_python --config Release

# Advanced Installation

See our [advanced installation instructions](INSTALL-Advanced.md).

The instructions above are enough to start using ELL. For more advanced topics, like testing and generating documentation, please see our [advanced installation instructions](INSTALL-Advanced.md).
Loading

0 comments on commit a314974

Please sign in to comment.