MTLCC-pytorch

Pytorch -- Multitemporal Land Cover Classification Network

A (yet barebone) Pytorch port of Rußwurm & Körner (2018) Tensorflow implementation

Please consider citing

Rußwurm M., Körner M. (2018). Multi-Temporal Land Cover Classification with
Sequential Recurrent Encoders. ISPRS International Journal of Geo-Information, 2018.

if you use this repository

Activations while encoding sequence:

lstm

Dependencies

Python dependencies

pip install numpy
pip install pandas>=0.23.4
pip install visdom==0.1.8.4
pip install rasterio>=1.0.2

# install pytorch 0.4.1 (https://pytorch.org/)
pip3 install torch torchvision

Download dataset to src/data and model checkpoint to src/checkpoints

bash download.sh

Train 10 epochs (batchsize 16, dataloader-workers 16) with initialized weights
from checkpoint file checkpoints/model_00.pth

# add src folder to python path
export PYTHONPATH="$PATHONPATH:$PWD/src"

# train
python src/train.py data -b 16 -w 16 -s checkpoints/model_00.pth

Visdom Support

Start visdom server in screen, tmux or other terminal with $ visdom
and open http://localhost:8097 in the browser while training

visdom

Comparison to Tensorflow implementation

not yet implemented features compared to the Tensorflow version

  • ConvGRU integration in train.py
  • bidirectional RNN loop
  • masking of the background class

GitHub