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

训练指南
=========
基本训练
--------
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"