conda create -n ima206 python=3.10 -y
source activate ima206
pip install -r requirements.txt
cd src/trainer
### Train Baseline (ResNet 18)
CUDA_VISIBLE_DEVICES=0 python resnet18_baseline.py \
--project barlow_twins \
--img_size 64 -p 1 \
--batch_size 2048 --lr 1e-2 --log_step 1 \
--max_epochs 1000 --warmup_epochs 50 \
--num_workers 16 \
--ckpt_dir ../../ckpt/ --log_dir ../../log/ \
--from_epoch 0 \
--ps 100_lr1e-2
### Pretrain Barlow Twins
CUDA_VISIBLE_DIVICES=0 python barlow_twins_pretrain.py \
--project barlow_twins \
--batch_size 1024 --max_epoch 200 \
--warmup_epochs 5 --num_workers 16 \
--ckpt_dir ../../ckpt/ --log_dir ../../log/
--lr 1e-4 --img_size 28 \
-p 1 \
--ps pretrain_100 <- this is some description for wandblogger saving run name
### Fine-tuning Barlow Twins
CUDA_VISIBLE_DEVICES=0 python barlow_twins_finetune.py \
--project barlow_twins --batch_size 2048 --accumulate_grad_batches 8 \
--log_step 5 --max_epochs 200 --warmup_epochs 20 --num_workers 8 \
--ckpt_dir ../../ckpt/ --log_dir ../../log/ \
--lr 1e-3 --img_size 64 -p 1 \
--ckpt ../../ckpt/20240618-101523/epoch=972-step=41839.ckpt
--ps lr001 --from_epoch 0 \
--frozen # (add --frozen means linear probing, remove it means fine tuning)-
Clone this repository
-
create a new branch base on
mainbranchgit checkout main # Output: Already on 'main' git pull # Output: Already up to date. git checkout -b abc123 # (new branch name) # Output: Switched to a new branch 'abc123' # make some updates echo "Hello" > a.txt git add a.txt git commit -m "Add a new file ./a.txt" # Only the for first push: # add a new remote branch, typically keep the same name with the local one. git push --set-upstream origin abc123 # Next push: git push