graph-based-image-classification
graph-based-image-classification copied to clipboard
Implementation of Planar Graph Convolutional Networks in TensorFlow
A TensorFlow implementation of Graph-based Image Classification
This is a TensorFlow implementation based on my "Graph-based Image Classification" master thesis.
Requirements
Project is tested on Python 2.7, 3.4 and 3.5.
To install the additional required python packages, run:
pip install -r requirements.txt
Miniconda
If you have Miniconda installed, you can simply run
./bin/install.sh <name>
to install all dependencies (including TensorFlow and nauty/pynauty) in a new
conda environment with name <name>
.
For configuration and usage of the install script, run:
./bin/install.sh --help
To install Miniconda, run
./bin/conda.sh
and add ~/.miniconda/bin
to your path.
Running tests
Install the test requirements:
pip install -r requirements_test.txt
Run the test suite:
./bin/test.sh
Package structure
-
bin
: Shell scripts to test and install. -
data
: Contains the datasets and helper methods to access and write datasets. -
grapher
: Graph generating algorithms. -
model
: Wrapper for learning CNNs based on a simple JSON network structure file. -
networks
: Contains all network structures that were used for training and evaluation. -
patchy
: PatchySan implementation. -
segmentation.algorithm
: Segmentation algorithms. -
segmentation
: Extracts segment features and spatial neighborhood information based on a given segmentation.