Caleb Spradlin
initial commit
ab687e7
raw
history blame
1.35 kB
from pytorch_caney.lr_scheduler import build_scheduler
import unittest
from unittest.mock import Mock, patch
class TestBuildScheduler(unittest.TestCase):
def setUp(self):
self.config = Mock(
TRAIN=Mock(
EPOCHS=300,
WARMUP_EPOCHS=20,
MIN_LR=1e-6,
WARMUP_LR=1e-7,
LR_SCHEDULER=Mock(
NAME='cosine',
DECAY_EPOCHS=30,
DECAY_RATE=0.1,
MULTISTEPS=[50, 100],
GAMMA=0.1
)
)
)
self.optimizer = Mock()
self.n_iter_per_epoch = 100 # Example value
def test_build_cosine_scheduler(self):
with patch('pytorch_caney.lr_scheduler.CosineLRScheduler') \
as mock_cosine_scheduler:
_ = build_scheduler(self.config,
self.optimizer,
self.n_iter_per_epoch)
mock_cosine_scheduler.assert_called_once_with(
self.optimizer,
t_initial=300 * 100,
cycle_mul=1.,
lr_min=1e-6,
warmup_lr_init=1e-7,
warmup_t=20 * 100,
cycle_limit=1,
t_in_epochs=False
)
if __name__ == '__main__':
unittest.main()