Presented at the Midwest Instruction and Computing Symposium (MICS) 2017
- Paper
- Presentation
- Accolades: Placed 1st in the Undergraduate Research Paper Competition
Presented at the Midwest Instruction and Computing Symposium (MICS) 2018
To prepare the image dataset and train the model you will need the following requirements:
- Docker - used for easily installing a reproducable environment by using container technology
- nvidia-docker - Allows docker containers to access the nvidia cuda API.
- imageinfo - used for getting the dimensions of images while converting from .tif to .png
- Navigate to Earth Explorer
- Create an account and log in. Account creation is required in order to download images above a certian size.
- TODO finish download instructions
- Copy all image zip files into unprocessed_images/ and cd into unprocessed_images
- Unzip all files with
unzip \*.(ZIP|zip)
- Run
./generate_images.sh
. This will reproject the downloaded images. - Edit
./generate_nlcd_layer.sh
to reflect where you downloaded nlcd_2011_landcover_2011_edition_2014_10_10.img to. - Run
./generate_nlcd_layer.sh
This will use the rerojected images to cut and reproject a file containing label data for a corresponding region. - Ensure FieldClassification/images exists. If it does not create it wil
mkdir ../images
(this command is reletive to unprocessed_images/). - Run
./copy_images.sh
to copy the generated PNG files to ../images
- Run
mkdir raw_images
./docker_run.sh "python generate_dataset.py"
Calculates test/train datasets and stores their corresponding id's in a .npy file (numpy file). This makes it easy to run multiple versions of the model on the same test and training sets.
./docker_run.sh "python calc_splits.py"
This step should only need to be done once initially, and then periodically to pull updated versions of the Tensorflow container.
./docker_build.sh
- this may take a while.
- Edit the second line of
./docker_tensorflow.sh
to set training parameters. - Run
./docker_tensorflow.sh
- This will take a very long while as the model runs. While running, move on to the next step in a new terminal to view graphs.
- Edit the absolute path to
FieldClassification/
on the first line of./docker_tensorboard.sh
- Run
./docker_tensorboard.sh [path to summary dir]
By default the summary dir is located inFieldClassification/output/summaries
. To view one run instead of all runs of the model pass the path to the specific model summary dir, e.g.output/summaries/my_model_name_here/
.