Gaussian Processes
A homebrewed C++ library for Gaussian processes. gp is developed by David Fridovich-Keil, a second-year PhD student in the Berkeley Hybrid Systems Lab and the Berkeley Artificial Intelligence Research (BAIR) Lab.
Status
gp is still under active development. I hope to have a first release soon though, so stay tuned!
Structure
All source code is located in src/; headers are in include/; unit tests are in /test/; and executables are in exec/. Compiled binaries will be placed in bin/.
Dependencies
I may miss a few here, but here is a list of dependencies:
- Eigen (header-only linear algebra library)
- Gflags (Google’s command-line flag manager)
- Glog (Google’s logging tool)
All of these may be installed very easily. If you run into any trouble, though, I am more than happy to help you figure out what’s going on. Just post an issue on this repository and I will reply as soon as possible.
Usage
You’ll need to begin by building the repository. From the top directory, type the following sequence of commands:
mkdir bin
mkdir build
cd build
cmake ..
make -j4
This should build all tests and executables. In order to run tests, you can run the following command:
./run_tests
from within the build/ directory you just made. All the tests should pass, and none should take more than a second or so to run.
Executables are automatically placed within the bin/ directory that you created. To run them, just type ./(name-of-executable).
To the extent that it makes sense, all parameters are accessible from the command line via Gflags. For help with command line options, simply run the following command:
./(name-of-executable) --help
API documentation
I’ve been using Doxygen to auto-generate web-based documentation. Although I do not follow the Doxygen guidelines for writing comments, auto-generation still seems to do a fairly reasonable job.