grakel is a library compatible with the project of scikit-learn
The grakel library requires:
- Python [>=2.7, >=3.5]
- NumPy [>=1.8.2]
- SciPy [>=0.13.3]
- Cython [>=0.27.3]
- cvxopt [>=1.2.0] [optional: lovasz]
- future [>=0.16.0] (for python 2.7)
For installing dependencies the procedure is the well known:
(sudo) pip install extension>=extension_version
or
(sudo) pip install -r requirements.txt
where (sudo) depends on if pip
has superuser privilages.
To install the development-version from pip execute:
$ (sudo) pip install grakel-dev
whereas to install it from conda:
$ conda install grakel-dev
To learn how to use the GraKeL api as a user, please read the documentation on sections Introduction and A longer introduction (in case your are full of curiosity).
In order for the following to work you first need to build the package cython extension locally by executing:
$ python setup.py build_ext -i
To test the package, execute:
$ nosetests
for executing unit_tests or use a testing-interface for testing the kernel
module:
$ python grakel/tests/test_kernels.py --help
usage: test_kernels.py [-h] [--verbose] [--problematic] [--slow]
[--ignore_warnings] [--dataset DATASET] [--normalize]
[--develop | --all | --main]
A test file for all kernels
optional arguments:
-h, --help show this help message and exit
--verbose print kernels with their outputs on stdout
--problematic allow execution of problematic test cases in development
--slow allow execution of slow test cases in development
--ignore_warnings ignore warnings produced by kernel executions
--dataset DATASET chose the datset you want the tests to be executed
--normalize normalize the kernel output
--develop execute only tests connected with current development
--all execute all tests
--main execute the main tests [default]
for testing graph_kernels
:
$ python grakel/tests/test_graph_kernel.py --help
usage: test_graph_kernels.py [-h] [--verbose] [--problematic] [--slow]
[--normalize] [--ignore_warnings]
[--dataset DATASET] [--develop | --all | --main]
A test file for all kernels
optional arguments:
-h, --help show this help message and exit
--verbose print kernels with their outputs on stdout
--problematic allow execution of problematic test cases in development
--slow allow execution of slow test cases in development
--normalize normalize the kernel output
--ignore_warnings ignore warnings produced by kernel executions
--dataset DATASET chose the datset you want the tests to be executed
--develop execute only tests connected with current development
--all execute all tests
--main execute the main tests [default]
and for testing the Graph
class:
$ python grakel/tests/test_graph.py --help
usage: test_graph.py [-h] [--verbose] [--ignore_warnings]
A test file for all `Graph` type objects
optional arguments:
-h, --help show this help message and exit
--verbose verbose outputs on stdout
--ignore_warnings ignore warnings produced by kernel executions
You can also execute the kernel test locally through a test-main-function as
$ python -m grakel.tests
For learning how to integrate your own kernel, please read section Write your own kernel inside the package documentation. For contributing to the GraKeL project, please read section contributing inside the package documentation.
If you use GraKeL in a scientific publication, please cite our paper:
@article{siglidis2018grakel,
title={GraKeL: A Graph Kernel Library in Python},
author={Siglidis, Giannis and Nikolentzos, Giannis and Limnios, Stratis and Giatsidis, Christos and Skianis, Konstantinos and Vazirgiannis, Michalis},
journal={arXiv preprint arXiv:1806.02193},
year={2018}
}