GithubHelp home page GithubHelp logo

gzzgz / fertilized-forests Goto Github PK

View Code? Open in Web Editor NEW

This project forked from classner/fertilized-forests

0.0 2.0 0.0 22.57 MB

Repository for the fertilized forests project (http://www.fertilized-forests.org).

License: Other

CMake 0.66% C++ 86.07% MATLAB 7.77% Objective-C 0.69% C 1.12% Python 3.55% Shell 0.07% Awk 0.07%

fertilized-forests's Introduction

Fertilized Forests Decision Forest library

The fertilized forests library is a general purpose, platform independent, easy to extend, Decision Forest library. You can find detailed information including API documentation on http://www.fertilized-forests.org.

Build status

The construction branch is unstable. Only versions that are completely tested get merged to master, so master is always always stable, with all tests passing and all builds running.

The current status of unstable is as follows:

  • Windows build status Build and tests, core library - Windows
  • Linux & Mac build Status Build and tests, core library and Python interface - Linux & Mac OS

Compilation & Installation

The project has a CMake build system. The series of

mkdir build
cd build
cmake ..
cmake --build . # add `--config Release` for Windows
cmake --build . --target test  # run the tests (with `--target run_tests` and `--config Release` on Windows).
cmake --build . --target install  # run the installation (... for Windows).

is sufficient to create the project in a Release configuration on all platforms.

The build does require Boost and Eigen to link against. Additionally, it offers to have feature extraction with OpenCV, and to build Python and MATLAB bindings. Hence, the following switches might be interesting for you:

-DCMAKE_BUILD_TYPE={Release|Debug}
-DWITH_PYTHON={OFF|ON}
-DWITH_MATLAB={OFF|ON}
-DWITH_CAFFE={OFF|ON}

-DBOOST_ROOT=...
-DEIGEN3_INCLUDE_DIR=...
-DCAFFE_ROOT_DIR=...
-DCAFFE_CPU_ONLY={OFF|ON}  # Must match the caffe compilation mode.

And there are many more fine-grained options for control. Simply open the file CMakeCache.txt after you ran CMake for the first time. You can change every variable in the file by adding a command line switch -DVARNAME=VALUE to another CMake call to adjust the configuration.

Developing

If you plan to extend or modify the library, please have a look at the dedicated developers guide. There is a fertilized-devtools project that provides a code generator to automatically keep the bindings and the serialization code up-to-date.

Troubleshooting

There is an FAQ page on the homepage with many helpful tips. If you want to see how environment setup in general works, see the files appveyor.yaml (Windows) or .travis.yaml (Linux).

If all this fails or you find a bug, please report it on github to let the community know and get it fixed!

Hint: When building with MATLAB on Linux, you might run into an issue with MATLAB not finding GLIBCXX_X.Y.ZZ. It's a known issue of MATLAB and easy to fix. You can find the solution here.

Hint: When building the Python bindings for Python 3 on Linux, you might have to

cd /usr/lib/x86_64-linux-gnu/
sudo ln -s libboost_python-py3[X].so libboost_python3.so

where [X] must be replaced with the appropriate value. This should solve the problem that boost_python3 can not be found.

fertilized-forests's People

Contributors

classner avatar chrisls avatar christian-rauch avatar

Watchers

James Cloos avatar Laplace_Monster avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.