CI-Net
This repository contains the CI-Net processing, training, inference, and validation code.
Directory structure
CI-Net/
βββ code/
β βββ data_preparing/
β βββ labeling/
β βββ final_preprocess/
β βββ training/
β βββ validation/
βββ raw_data/
βββ result/
The directories under code follow the processing order:
data_preparing: read and align satellite and radar inputs.labeling: create cloud labels.final_preprocess: convert the prepared fields into model input files.training: train the model and run inference.validation: create validation targets and calculate validation metrics.
Each code directory contains Python files in src and its configuration and
shell entry points in run.
raw_data contains the input example included with this repository.
result contains prepared data, model files, inference outputs, and validation
outputs. See result/README.md for the meaning of its subdirectories.
Environment
conda env create -f environment.yml
conda activate ci-net
Usage
The example preprocessing stages can be run in order:
code/data_preparing/run/run.sh
code/labeling/run/run.sh
code/final_preprocess/run/run.sh
Training and inference use separate configuration files and entry points:
code/training/run/train.sh
code/training/run/inference.sh
Validation target creation and object validation are also separate:
code/validation/run/targets.sh
code/validation/run/validation.sh
The YAML file beside each shell script controls its input and output paths. The shell scripts locate the repository root automatically.
License
The model weights and distributed data under raw_data/ and result/ are
licensed under the Creative Commons Attribution 4.0 International License
(CC BY 4.0), as described in LICENSE_MODEL_DATA.
The source code under code/ is licensed under the MIT License, as described
in LICENSE_CODE.