Skip to content

berleon/deepdecoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2043757 · Jul 18, 2018
Sep 4, 2017
Sep 4, 2017
Jul 17, 2018
Sep 4, 2017
Sep 6, 2016
Dec 6, 2016
Jan 6, 2016
Sep 4, 2017
Sep 4, 2017
Apr 16, 2016
Sep 4, 2017
Sep 4, 2017

Repository files navigation

RenderGAN

This repository holds the code to the "RenderGAN: Generating Realistic Labeled Data" paper.

You might be interested in:

Run the code

  1. Build the docker image as described in docker/README.md

  2. Start a docker container and ensure you have enough disk space ~300GB.

  3. Mount or clone this repository into the docker container. Let $REPO_DIR contain the path to the repository.

  4. Install the repository with pip3 install -e . .

  5. Download all files from this google drive directory and place them in the $REPO_DIR/data directory. You might find the gdrive cli tool useful. Check the sha1 sums:

    db00d1ae8d1920c6d4faa830cebcd5783b44e905  gt_test_shuffled.hdf5
    37961551dd062179cafc3f7eee3a75e113555c59  gt_train_shuffled.hdf5
    be1870252dd926aeff8818ad13d9b28a1253935e  real_tags.hdf5
    
  6. Now your can run the code.

    $ mkdir build
    $ echo "{\"path\": \"`realpath data/real_tags.hdf5`\"}" > build/real_dataset
    $ realpath data > build/gt_data_dir
    $ cd build
    $ bb_make ../config/train tag3d_network

    The bb_make program is a s lim wrapper around this Makefile. The first argument is the directory of the parameters you want to use and the second is the make target to execute.

    Targets:

    • tag3d_data_set: Generates a dataset using the simple 3D model.
    • tag3d_network: Train a neural network to emulate the simple 3D model.
    • rendergan: Trains the GAN.
    • artificial_data_set: Samples an artificial dataset from the RenderGAN.
    • decoder_model: Trains a neural network to decode the tags.
    • decoder_evaluation: Evaluates a trained decoder network and prints the mean hamming distance.
    • decoder_on_real: Train a neural network on the limited set of real data.

    Every target has a corresponding setting file (e.g. setting the number of sample to generate ...). The decoder_model target can be run with different settings using the -o flag:

    $ bb_make ../config/train -o decoder_settings=decoder_handmade_tag3d.yaml decoder
    

    This will execute the decoder target but with the decoder_handmade_tag3d.yaml file.

    You can also copy the settings directory $ cp -r config/train config/my_settings and experiement with your own hyperparameters. Then you have to use $ bb_make ../config/my_settings