| ## MeViS | |
| ### Inference & Evaluation | |
| To perform inference using the trained model, use the following command: | |
| ``` | |
| sbatch [inference script file] [/path/to/output_dir] [/path/to/pretrained_weight] --backbone [backbone] --batch_size [batchsize: 1 is desirable] --frame_batch_size [frame batch size] | |
| ``` | |
| For example, to run inference with the Swin-Tiny model, execute: | |
| ``` | |
| sbatch ./script/dist_test_mevis_swint.sh mevis_dirs/swin_tiny_mevis pretrained_weights/swin-tiny_pretrain.pth --backbone swin_t_p4w7 --visualize --batch_size 1 --frame_batch_size 64 | |
| ``` | |
| If you would like to visualize the predicted masks, you can add the `--visualize` flag to the command above. | |
| ### Training | |
| - **Finetuning** | |
| The following command includes both training and inference stages: | |
| ``` | |
| sbatch [train script file] [/path/to/output_dir] [/path/to/pretrained_weight] --backbone [backbone] | |
| ``` | |
| For example, to train the Swin-Tiny model, run: | |
| ``` | |
| sbatch ./scripts/dist_train_mevis.sh mevis_dirs/swin_tiny_mevis pretrained_weights/swin-tiny_pretrain.pth --backbone swin_t_p4w7 | |
| ``` | |
| The training script is based on `torch.distributed.launch` with SLURM's GPU allocation. Modify the `--nproc_per_node` option according to the number of GPUs allocated on the node, as shown below: | |
| ``` | |
| python3 -m torch.distributed.launch --nproc_per_node=4 --use_env \ | |
| main.py --with_box_refine --binary --freeze_text_encoder \ | |
| ``` |