update: idfk

This commit is contained in:
alikia2x (寒寒) 2025-03-07 22:25:37 +08:00
parent c2c2b4c29d
commit 2c2e780700
Signed by: alikia2x
GPG Key ID: 56209E0CCD8420C6
3 changed files with 3 additions and 30 deletions

View File

@ -35,4 +35,3 @@ Note
0242: V6.1 # 自定义loss
0259: V6.1 # 调整学习率 (自定义loss)
0314: V6.1 # 调整学习率(交叉熵损失)
0349: V6.3 # 增加层数至2

View File

@ -1,26 +0,0 @@
import torch
from modelV3_10 import VideoClassifierV3_10
from modelV3_9 import VideoClassifierV3_9
def convert_checkpoint(original_model, new_model):
"""转换原始checkpoint到新结构"""
state_dict = original_model.state_dict()
# 直接复制所有参数(因为结构保持兼容)
new_model.load_state_dict(state_dict)
return new_model
# 使用示例
original_model = VideoClassifierV3_9()
new_model = VideoClassifierV3_10()
# 加载原始checkpoint
original_model.load_state_dict(torch.load('./filter/checkpoints/best_model_V3.9.pt'))
# 转换参数
converted_model = convert_checkpoint(original_model, new_model)
# 保存转换后的模型
torch.save(converted_model.state_dict(), './filter/checkpoints/best_model_V3.10.pt')

View File

@ -76,9 +76,9 @@ eval_interval = 20
num_epochs = 20
total_steps = samples_count * num_epochs / batch_size
warmup_rate = 0.1
optimizer = optim.AdamW(model.parameters(), lr=5e-5, weight_decay=1e-5)
optimizer = optim.AdamW(model.parameters(), lr=1e-5, weight_decay=1e-3)
cosine_annealing_scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=total_steps - int(total_steps * warmup_rate))
warmup_scheduler = optim.lr_scheduler.LinearLR(optimizer, start_factor=0.1, end_factor=1.0, total_iters=int(total_steps * warmup_rate))
warmup_scheduler = optim.lr_scheduler.LinearLR(optimizer, start_factor=0.4, end_factor=1.0, total_iters=int(total_steps * warmup_rate))
scheduler = optim.lr_scheduler.SequentialLR(optimizer, schedulers=[warmup_scheduler, cosine_annealing_scheduler], milestones=[int(total_steps * warmup_rate)])
criterion = nn.CrossEntropyLoss(weight=class_weights).to(device)