This commit is contained in:
rmaphoh
2023-01-30 23:50:20 +00:00
parent fe6e9badfb
commit 05f7224f5f
10 changed files with 1404 additions and 2 deletions
+95 -2
View File
@@ -1,2 +1,95 @@
# RETFound_MAE
RETFound - A foundation model for retinal image
## RETFound - A foundation model for retinal image
This is official repo for RETFound, which heavily bases on [MAE](https://github.com/facebookresearch/mae):
### Key features
- RETFound was trained on 1.6 million retinal images
- RETFound has been validated in multiple disease detection tasks
- RETFound can be efficiently adapted to customised task
### Install enviroment
Create enviroment with conda:
```
conda create -n retfound python=3.6.15 -y
```
Install Pytorch 1.81 (cuda 11.1)
```
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
```
Install others
```
pip install -r requirement.txt
```
### Fine-tuning with RETFound weights
- RETFound pre-trained weights
<table><tbody>
<!-- START TABLE -->
<!-- TABLE HEADER -->
<th valign="bottom"></th>
<th valign="bottom">ViT-Large</th>
<!-- TABLE BODY -->
<tr><td align="left">Colour fundus image</td>
<td align="center"><a href="https://dl.fbaipublicfiles.com/mae/pretrain/mae_pretrain_vit_large.pth">download</a></td>
</tr>
<!-- TABLE BODY -->
<tr><td align="left">OCT</td>
<td align="center"><a href="https://dl.fbaipublicfiles.com/mae/pretrain/mae_pretrain_vit_large.pth">download</a></td>
</tr>
</tbody></table>
- Organise data (use IDRiD as example)
<p align="left">
<img src="https://user-images.githubusercontent.com/11435359/146857310-f258c86c-fde6-48e8-9cee-badd2b21bd2c.png" width="480">
</p>
- Start fine-tuning (use IDRiD as example). A fine-tuned checkpoint will be saved during training. Evaluation will be run after training.
```
python -m torch.distributed.launch --nproc_per_node=1 --master_port=48798 main_finetune.py
--batch_size 16 \
--world_size 1 \
--model vit_large_patch16 \
--epochs 50 \
--blr 5e-3 --layer_decay 0.65 \
--weight_decay 0.05 --drop_path 0.2 \
--nb_classes 5 \
--data_path ./IDRiD_data/ \
--task ./finetune_IDRiD/ \
--finetune ./RETFound_cfp_weights.pth
```
- For evaluation only
```
python -m torch.distributed.launch --nproc_per_node=1 --master_port=48798 main_finetune.py
--eval --batch_size 16 \
--world_size 1 \
--model vit_large_patch16 \
--epochs 40 \
--blr 5e-3 --layer_decay 0.65 \
--weight_decay 0.05 --drop_path 0.2 \
--nb_classes 5 \
--data_path ./IDRiD_data/ \
--task ./internal_IDRiD/ \
--resume ./finetune_IDRiD/checkpoint-best.pth
```