Fill-the-Frames / tests /test_trainer.py
Siddhant Sharma
Added universal date and time for training
5e2228a
Raw
History Blame Contribute Delete
1.78 kB
import torch
from src.training.trainer import Trainer
from src.model.ifnet import IFNet
from src.config.settings import Settings, TrainingConfig, DataConfig
import os
def test_trainer_init():
settings = Settings(
training=TrainingConfig(
epochs=1,
batch_size=2,
learning_rate=1e-4,
weight_decay=0.001,
num_workers=2,
checkpoints_dir="chkpt"
),
data=DataConfig(
satellite_type="goes",
s3_bucket="bucket",
download_dir="data",
prefix_type="ABI",
year=2024,
start_day=1,
end_day=2,
frame_step=1,
crop_size=256
)
)
trainer = Trainer(
settings,
IFNet(),
torch.device("cpu")
)
assert trainer.global_step == 0
def test_checkpoint_save(tmp_path):
settings = Settings(
training=TrainingConfig(
epochs=1,
batch_size=2,
learning_rate=1e-4,
weight_decay=0.001,
num_workers=2,
checkpoints_dir=str(tmp_path)
),
data=DataConfig(
satellite_type="goes",
s3_bucket="b",
download_dir="d",
prefix_type="ABI",
year=2024,
start_day=1,
end_day=2,
frame_step=1,
crop_size=256,
crop_stride_divisor=4,
static_motion_threshold=0.005
)
)
trainer = Trainer(
settings,
model=IFNet(),
device=torch.device("cpu")
)
trainer.save_checkpoint("test_model.pth")
trainer.shutdown()
assert os.path.exists(
os.path.join(tmp_path, "test_model.pth")
)