This repository is the official implementation of "Towards Realistic Earth-Observation Constellation Scheduling: Benchmark and Methodology".
sudo apt install ffmpeg libpq-dev
bash setup.shIf you want to use all data to reproduct our paper:
git clone git@hf.co:datasets/MessianX/AEOS-dataset ./data
find ./data -type f -name '*.tar' -print0 | xargs -0 -n1 -I{} sh -c 'tar -xf "$1" -C "$(dirname "$1")"' _ {}Or, you can just download the val_seen/val_unseen/test from the trajectories inside our hf repo and unzip them to only evaluate your own model:
# TODO: urls
# suppose you have download these requested data
find ./data -type f -name '*.tar' -print0 | xargs -0 -n1 -I{} sh -c 'tar -xf "$1" -C "$(dirname "$1")"' _ {}The right file tree should be like this:
data/
├── trajectories.1/
│ ├── test/
│ ├── train/
│ │ ├── 00/ # contains pth and json files
│ │ ├── 01/
│ │ ├── ...
│ ├── val_seen/
│ └── val_unseen/
├── trajectories.2/
├── trajectories.3/
├── annotations/
│ ├── test.json
│ ├── train.json
│ ├── val_seen.json
│ └── val_unseen.json
├── constellations/
│ ├── test/
│ ├── train/
│ ├── val_seen/
│ └── val_unseen/
├── orbits/
├── satellites/
└── tasksets/
Use the command below to train our model:
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=:${PYTHONPATH} auto_torchrun -m constellation.new_transformers.train test constellation/new_transformers/config.pyThis will continue till 200000 iters.
Use the command below to evaluate the model:
CUDA_VISIBLE_DEVICES=0 WORLD_SIZE=1 RANK=0 python -m constellation.rl.eval_all \
work_dir_name \
constellation/rl/config_eval.py \
--load-model-from 'work_dirs/test/checkpoints/iter_100000/model.pth'