You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.6 KiB
84 lines
1.6 KiB
训练指南
|
|
=========
|
|
|
|
基本训练
|
|
--------
|
|
|
|
EMCAD 项目使用 Trainer 类封装完整的训练流程。
|
|
|
|
.. code-block:: python
|
|
|
|
from src.utils.config import Config
|
|
from src.core.networks import EMCADNet
|
|
from src.utils.dataloader import get_loader
|
|
from src.utils.trainer import Trainer
|
|
|
|
config = Config.from_yaml("configs/default.yaml")
|
|
|
|
train_loader = get_loader(
|
|
config.dataset.root_path,
|
|
config.dataset.list_dir,
|
|
config.dataset.volume_path,
|
|
split="train",
|
|
img_size=config.dataset.img_size,
|
|
batch_size=config.training.batch_size,
|
|
)
|
|
|
|
model = EMCADNet(
|
|
num_classes=config.model.num_classes,
|
|
encoder=config.model.encoder,
|
|
kernel_sizes=config.model.kernel_sizes,
|
|
expansion_factor=config.model.expansion_factor,
|
|
)
|
|
|
|
trainer = Trainer(
|
|
model=model,
|
|
config=config,
|
|
train_loader=train_loader,
|
|
)
|
|
|
|
trainer.train(epochs=config.training.max_epochs)
|
|
|
|
自定义训练
|
|
----------
|
|
|
|
早停配置
|
|
~~~~~~~~
|
|
|
|
在配置文件中启用早停:
|
|
|
|
.. code-block:: yaml
|
|
|
|
training:
|
|
early_stopping:
|
|
enabled: true
|
|
patience: 50
|
|
min_delta: 0.001
|
|
|
|
学习率调度
|
|
~~~~~~~~~~
|
|
|
|
支持多种学习率调度器:
|
|
|
|
.. code-block:: yaml
|
|
|
|
training:
|
|
lr_scheduler:
|
|
type: "CosineAnnealingLR"
|
|
T_max: 300
|
|
eta_min: 1e-6
|
|
|
|
监督策略
|
|
--------
|
|
|
|
EMCAD 支持三种监督策略:
|
|
|
|
1. **mutation**: 多尺度监督
|
|
2. **deep_supervision**: 深度监督
|
|
3. **last_layer**: 仅最后一层监督
|
|
|
|
.. code-block:: yaml
|
|
|
|
training:
|
|
supervision: "mutation"
|