第三次赛事培训: git与平台使用及赛题讲解
Git与平台介绍
- Git是目前世界上最流行的分布式版本控制系统。 版本控制是一种随着时间保存更改而不覆盖之前版本的方法;分布式意味着每个使用 Git 仓库的开发者都拥有整个仓库的副本——每一次提交、每个分支、每一个文件。
- 在本次比赛中,我们不仅将 Git 作为代码托管工具,更将其作为全自动评分流水线的核心:委员会通过“示例代码仓库”分发示例代码与实验数据,同时每一组选手都拥有专属的 GitLab 仓库。当执行
git push将代码推送到远程仓库后,可以手动运行 CI(持续集成),然后评分脚本会自动运行你的代码,并在评分完成后将结果同步至得分排行榜。
赛题与示例代码
赛题:
本项挑战赛专注于医学影像的自动分割技术,旨在通过深度学习算法实现对多模态医学图像(CT和MRI)中器官的精确分割。参赛者需要设计出具有强跨模态泛化能力的分割模型。
挑战赛提供的数据集包含完整CT和MRI图像,部分伴随器官分割标签。数据采用严格的编号和命名规范:
训练集 (Training Set):
0至500号:对应 CT 影像数据。- 大于
500号:对应 MRI 影像数据。 - 带 “
-nolabel” 后缀:可选的无标签增广数据,供半监督学习等策略使用。
测试集 (Test Set):
- 采用混合模态设计,完全进行随机化处理。
- 不提供任何显式的模态标签,且文件命名随机或统一,执行盲测评估。
评分权重: 单 CT 模态评分占总成绩的 80%,混合模态评分占 20%。选手应以 CT 数据的训练为核心重点,同时兼顾跨模态鲁棒性。
评分细则:
- 输入输出约束:推理脚本必须接受标准的
.nii.gz格式路径作为输入。 - 独立预测约束:每例样本的预测过程必须完全独立,严禁遍历整个测试集合反推整体分布。
- 禁止硬编码:严禁通过文件名逻辑切换预测分支。
示例代码
-
数据处理模块 (
dataset.py)
功能:负责读取原始医学数据(如.nii.gz文件),将其统一转化为深度学习框架所需的 Tensor 格式。支持数据批处理(DataLoader)与各类数据增强(Data Augmentation)策略。 -
模型搭建模块 (
net.py) 功能:搭建深度学习网络结构。 -
模型训练模块 (
train.py) 功能:搭建完整的训练框架。 -
模型推理模块 (
predict.py) 功能:执行测试集推理。 加载保存的预训练权重(如unet.pth),对盲测的测试样本进行模态自动识别与预处理,输入模型完成前向传播。若采用 2D 切片策略,需在此阶段将 2D 输出重新拼接恢复为 3D 形状[B, C, D, H, W],最终生成标准格式的分割结果。
基本信息
- 主讲人: 唐裕胜、樊玉博
- 时间:5月16日14:30-16:30
- 宣讲与培训内容:
- git与平台使用教程
- 决赛赛题介绍
- 样例代码讲解
材料
- 回放与材料: 清华云盘
- 第二次赛事小作业: 修改示例代码并push,运行CI评分后得到大于1的分数。