Subsections
1. Overview of requirements
Note: most of the tools and libraries required for PLearn are already
installed on typical Linux (or other unix-like) systems, or are easy to
install with ready-made packages (such as RPMs or using apt-get). PLearn is mostly
developped in a Linux environment with the gcc/g++ C++ compiler. Since
PLearn was written with portability in mind, it is certainly
portable (and has been ported on occasions) to other platforms or
compilers, but as we work mainly with Linux/gcc, we only very occasionally
check the working and correct problems on other platforms.
To be able to download, compile and use PLearn, you need the following
tools to be installed on your system (for detailed instructions for
installation under Windows, you may go directly to section ).
- g++ (http://gcc.gnu.org). We recommend using the latest version,
but it should work with 3.2 and above. It is certainly possible to
compile PLearn with other compilers (we do this from time to time), but
it may necessitate some tweaking.
- python (http://www.python.org). Version 2.3.3 or above (may
work with older versions, but no guarantee). We use python scripts
heavily to make our life easier, noticeably as our compilation framework
(but if you're really in love with Makefiles you can probably do without
pymake).
- subversion (svn) for version control ( see http://subversion.tigris.org/ )
Note: some local subprojects may still be based on CVS for version control (http://www.cvshome.org)
Parts of PLearn depend on the following external libraries. Depending on
which parts of PLearn you want to compile and use, they may require
compiling and linking with the following libraries (that will first have to
be installed: see more detailed installation instructions for your system
in the appropriate chapter).
- required: the standard C and C++ libraries, naturally!
- required: NSPR the Netscape Portable Runtime
(http://www.mozilla.org/projects/nspr/). We use NSPR as an OS abstraction
layer for things such as file and network access, process control,
etc... So that PLearn may also somewhat work on Windows...
- required: parts of PLearn have come to depend on some of the
boost C++ libraries (http://www.boost.org). You might as well install all
of boost. We use in particular: tuple, random, type_traits, call_traits, smart_ptr, bind, function, graph, (utility), (regex), (format), (thread).
- almost required: blas and lapack libraries provide linear algebra
subroutines that several learning algorithms depend upon. There are standard
packages (RPMS...) for most Linux distributions, and come as part of
the veclib framework under Mac OS X.
- recommended: ncurses is used in some places for text mode
gui.
- optional: python runtime is needed for embedding python
in your plearn executable if you need them to evaluate python code snippets.
- optional: PLearn has an interface to call the Torch
library, which offers a number of additional learning algorithms (in particular SVMs).
- optional: The libraries of WordNet for work on language
models.
- optional: MPI libraries for parallelization.
Nearly all higher level GUI demos and plotting facilities are written in
python (which calls upon plearn) using essentially the following software
packages:
- numpy (part of scipy) for efficient numeric array operations in python.
- matplotlib for 2D plots.
- mayavi for 3D interactive plots.
- pygtk with gtk+2 for sophisticated GUIs.
- tkinter for older and simpler GUIs.
You may also want to install the more user-friedly python command-line interface ipython:
ipython –pylab starts a good environment for scientific computing in python.
In addition the following tools can be useful:
- gs (ghostscript) and gv (ghostview)
- gnuplot (for older plot commands called from plearn)
- perl to run older dirty scripts.
- graphviz to plot graphs.