Coverage for src/deepdraw/configs/models/driu_od.py: 100%
19 statements
« prev ^ index » next coverage.py v7.3.1, created at 2023-11-30 15:00 +0100
« prev ^ index » next coverage.py v7.3.1, created at 2023-11-30 15:00 +0100
1# SPDX-FileCopyrightText: Copyright © 2023 Idiap Research Institute <contact@idiap.ch>
2#
3# SPDX-License-Identifier: GPL-3.0-or-later
5"""DRIU Network for Optic Disc Segmentation.
7Deep Retinal Image Understanding (DRIU), a unified framework of retinal image
8analysis that provides both retinal vessel and optic disc segmentation using
9deep Convolutional Neural Networks (CNNs).
11Reference: [MANINIS-2016]_
12"""
14from torch.optim.lr_scheduler import MultiStepLR
16from deepdraw.engine.adabound import AdaBound
17from deepdraw.models.driu_od import driu_od
18from deepdraw.models.losses import SoftJaccardBCELogitsLoss
20# config
21lr = 0.001
22betas = (0.9, 0.999)
23eps = 1e-08
24weight_decay = 0
25final_lr = 0.1
26gamma = 1e-3
27eps = 1e-8
28amsbound = False
30scheduler_milestones = [900]
31scheduler_gamma = 0.1
33model = driu_od()
35# optimizer
36optimizer = AdaBound(
37 model.parameters(),
38 lr=lr,
39 betas=betas,
40 final_lr=final_lr,
41 gamma=gamma,
42 eps=eps,
43 weight_decay=weight_decay,
44 amsbound=amsbound,
45)
46# criterion
47criterion = SoftJaccardBCELogitsLoss(alpha=0.7)
49# scheduler
50scheduler = MultiStepLR(
51 optimizer, milestones=scheduler_milestones, gamma=scheduler_gamma
52)