The data was gathered from this Kaggle compatition Understanding Clouds from Satellite Images
- Python 3.6
- TensorFlow V2.x (For Perceptron/SimpleAnn (used in main.py) TF V1.15)
- Opencv 4.x
- Pandas
- matplotlib
- dataclasses
- tqdm
First dowload the data from Understanding Clouds from Satellite Images and unpack it to the data
folder.
Then run
python data/data_gen.py
This will extract the data into folders by there class, where each image contains one cloud formation only.
For now, main.py works with TF 1.15
To use run the SLP or MLP, run the main.py
with the following arguments:
usage:
python main.py [-h] --model MODEL [SLP,ANN,CNN] [--batch_size MINI_BATCH]
[--samples SAMPLES] [--use_gpu GPU]
[--gpu_full FULL_GPU] [--weights WEIGHTS_PATH]
To use run the CNN, run the CNN.py
:
usage:
python CNN.py
To use the AutoEndocer/KNN, run:
python autoEncoder.py
python classify_knn.py --model [PATH_TO_SAVED_MODEL]/encoder --images PATH_TO_MINI_DATA
To use the final (best results) model with the AE and auxiliary loss run:
python auxiliary_loss.py