played around with CASIA-WEB-FACE

This commit is contained in:
2026-05-09 23:01:15 +02:00
parent a4191fa00c
commit 770b7be936
6 changed files with 83 additions and 18 deletions

30
Tune.py
View File

@@ -1,16 +1,21 @@
import torch
# Finetuning a selected model
# on a selected dataset
# using selected parameters
from torch.utils.data import DataLoader
from sklearn.metrics import classification_report
import SetUp
from Data import *
from IdentitySubset import IdentitySubset
#from datasets.Casia import *
#from IdentitySubset import IdentitySubset
from datasets.UniversalIdentitySubset import UniversalIdentitySubset as IdentitySubset
# models
from architectures.Model import Model, Architecture
# numbre of classes
CLASS_SIZE = 20
# batch
BATCH_SIZE = 16
BATCH_SIZE = 32
# size of images per class trainset + testset
# 30 works best, more than that and we dont have enough data
@@ -21,7 +26,7 @@ TRAINING_SMPLE = 28
# learning rate
LR_RATE = 0.0001
EPOCHS = 16
EPOCHS = 20
# depends on model architecture
# ResNet, DenseNet = 224
@@ -42,11 +47,18 @@ arch = Architecture.RESNET50
# load data set and prepare
dataset = get_set()
# select identities for experiment
selected_identities = select_ids(
dataset = dataset,
sample_size = SAMPLE_SIZE,
class_size = CLASS_SIZE
)
#selected_identities = select_ids(
# dataset = dataset,
# sample_size = SAMPLE_SIZE,
# class_size = CLASS_SIZE
# )
# this selects the top 50 based on sample size
# that way repeated calls return the same classes
selected_identities = select_top_ids(
dataset=dataset,
class_size= CLASS_SIZE,
)
print(f'> Selected {CLASS_SIZE} random identity classes from CelebA dataset.')
print(f'> A class has {TRAINING_SMPLE} train and {SAMPLE_SIZE-TRAINING_SMPLE} test samples')