Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version
Go to top

Artificial Neural Networks made easy with the FANN library

, 28 Aug 2013
Neural networks are typically associated with specialised applications, developed only by select groups of experts. This misconception has had a highly negative effect on its popularity. Hopefully, the FANN library will help fill this gap.
fann-1_2_0.zip
fann-1.2.0
debian
changelog
compat
control
copyright
docs
libfann1-dev.dirs
libfann1-dev.examples
libfann1-dev.files
libfann1-dev.install
libfann1.dirs
libfann1.files
libfann1.install
rules
doc
fann_doc_complete_1.0.pdf
Makefile
html
src
include
Makefile.in
Makefile.am
Makefile.in
COPYING
Makefile.am
win32_dll
examples
makefile
README
Makefile.in
configure
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
TODO
aclocal.m4
config.guess
config.sub
configure.in
depcomp
fann.pc.in
fann.spec.in
install-sh
ltmain.sh
missing
mkinstalldirs
benchmarks
datasets
building.test
building.train
diabetes.test
diabetes.train
gene.test
gene.train
mushroom.test
mushroom.train
robot.test
robot.train
soybean.test
soybean.train
thyroid.test
thyroid.train
two-spiral.train
pumadyn-32fm.test
pumadyn-32fm.train
two-spiral.test
parity8.train
parity8.test
parity13.test
parity13.train
Makefile
README
benchmark.sh
benchmarks.pdf
gnuplot
performance.cc
quality.cc
.cvsignore
examples
Makefile
xor.data
python
README
examples
libfann.i
makefile.gnu
makefile.msvc
libfann.pyc
MSVC++
libfann.dsp
all.dsw
simple_test.dsp
simple_train.dsp
steepness_train.dsp
xor_test.dsp
xor_train.dsp
config.in
fann_win32_dll-1_2_0.zip
changelog
compat
control
copyright
docs
libfann1-dev.dirs
libfann1-dev.examples
libfann1-dev.files
libfann1-dev.install
libfann1.dirs
libfann1.files
libfann1.install
rules
fann_doc_complete_1.0.pdf
Makefile
Makefile.in
Makefile.am
Makefile.in
COPYING
Makefile.am
makefile
README
Makefile.in
configure
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
TODO
aclocal.m4
config.guess
config.sub
configure.in
depcomp
fann.pc.in
fann.spec.in
install-sh
ltmain.sh
missing
mkinstalldirs
building.test
building.train
diabetes.test
diabetes.train
gene.test
gene.train
mushroom.test
mushroom.train
robot.test
robot.train
soybean.test
soybean.train
thyroid.test
thyroid.train
two-spiral.train
pumadyn-32fm.test
pumadyn-32fm.train
two-spiral.test
parity8.train
parity8.test
parity13.test
parity13.train
Makefile
README
benchmark.sh
benchmarks.pdf
gnuplot
performance.cc
quality.cc
.cvsignore
Makefile
xor.data
README
libfann.i
makefile.gnu
makefile.msvc
libfann.pyc
libfann.dsp
all.dsw
simple_test.dsp
simple_train.dsp
steepness_train.dsp
xor_test.dsp
xor_train.dsp
config.in
bin
fanndoubled.dll
fanndoubled.lib
fanndoubleMTd.dll
fanndoubleMTd.lib
fannfixedd.dll
fannfixedd.lib
fannfixedMTd.dll
fannfixedMTd.lib
fannfloatd.dll
fannfloatd.lib
fannfloatMTd.dll
fannfloatMTd.lib
fanndouble.dll
fanndouble.lib
fanndoubleMT.dll
fanndoubleMT.lib
fannfixed.dll
fannfixed.lib
fannfixedMT.dll
fannfixedMT.lib
fannfloat.dll
fannfloat.lib
fannfloatMT.dll
fannfloatMT.lib
vs_net2003.zip
VS.NET2003
Fann win32 dll readme:

Rebuilding the fann win32 dll's require Microsoft Visual Studio C++ 2003/7.1.
The build process places dll's and import libraries in win32/bin. Once built the
dll's can be used by earlier compilers and other development tools.


Project configurations:

The windll project has a large number of configurations. The three number
formats supported in the fann library are double, fixed and float. The C
runtime has two variations: single threaded and multi thread safe. Then
there is the choice between debug without optimizations and release with
global optimizations set for speed.

Dll name		- Configuration name

fanndoubled.dll		- Debug Double
fanndoubleMTd.dll	- Debug Double Multithread
fanndouble.dll		- Release Double
fanndoubleMT.dll	- Release Double Multithread

fannfixedd.dll		- Debug Fixed
fannfixedMTd.dll	- Debug Fixed Multithread
fannfixed.dll		- Release Fixed
fannfixedMT.dll		- Release Fixed Multithread

fannfloatd.dll		- Debug Float
fannfloatMTd.dll	- Debug Float Multithread
fannfloat.dll		- Release Float
fannfloatMT.dll		- Release Float Multithread

The import libraries are named as the dll's but with the .lib extension.


Application usage:

To use a dll in an application include one of the doublefann.h, fixedfann.h
or floatfann.h header files in the source code and depending on the
number format selected and the settings (debug, release, single or
multithreaded) in the application link with the matching import library.
When executing the application make sure the required dll is in the search
path. For example copy the dll to the same directory as the application or
add win32/bin to the search path (for example on WinXP use the System
applet Configuration Manager and select Advanced and Environment Variables).


Visual Studio C++ instructions:

To build a dll in one of the configurations, select it in the Solutions
Configurations dropdown on the standard toolbar and build it from the
Build menu.

To build all configurations select Batch Build in the Build menu. Click
Select All, Rebuild. All the dll's are placed in the win32\bin sub directory.
The intermediary directories named after their configurations can be
deleted or Clean can be used from Batch Build to save space. The dll's in
win32\bin will not be deleted by Clean.


Command line version instructions:

A makefile to rebuild the fann win32 dll's with the command line Microsoft
C++ 2003/7.1 compiler is located in the win32 directory. Open a command
window in the win32 directory and use the vcvars32 command file to set
environment for the compiler tools.
 
To rebuild all dll's run: nmake
To rebuild all debug dll's run: nmake "Debug"
To rebuild all release dll's run: nmake "Release"
To rebuild just one dll (for example "Release Fixed") run: nmake "Release Fixed"

To delete all intermediary directories named "Debug Double" and so forth
and ***ALL*** their content (the dll's in win32\bin will not be deleted)
run: nmake "Clean"

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Software Developer's Journal
Publisher
Poland Poland
Software Developer's Journal (formerly Software 2.0) is a magazine for professional programmers and developers publishing news from the software world and practical articles presenting very interesting ready programming solutions. To read more

| Advertise | Privacy | Mobile
Web01 | 2.8.140916.1 | Last Updated 28 Aug 2013
Article Copyright 2006 by Software Developer's Journal
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid