"""モデル生成のテスト(SPEC_02「モデル」: timm・出力 5 クラス).
事前学習の重みはダウンロードしない(pretrained=False のみ).
"""
from __future__ import annotations
import torch
from tias_judge_model.models.factory import count_parameters, create_model
def test_create_model_outputs_five_classes() -> None:
torch.manual_seed(0)
model = create_model("resnet18", pretrained=False).eval()
with torch.no_grad():
out = model(torch.zeros(2, 3, 32, 32))
assert out.shape == (2, 5)
def test_count_parameters_matches_numel() -> None:
model = create_model("resnet18", pretrained=False)
assert count_parameters(model) == sum(p.numel() for p in model.parameters())
assert count_parameters(model) > 0