Skip to content

Implementation of Planar Graph Convolutional Networks in TensorFlow

License

Notifications You must be signed in to change notification settings

rusty1s/graph-based-image-classification

Repository files navigation

A TensorFlow implementation of Graph-based Image Classification

Build Status Code Coverage Requirements Status Code Climate Code Climate Issues

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.