Typer CLI package for the Vit medical multi-axis Vision Transformer project.
Project description
btvit-cli
基于 PyTorch 的三轴 ViT 医学影像二分类 CLI。
安装
pip install btvit-cli
vit --version
当前主线
项目现在只保留一条流程:
axis阶段分别训练x / y / z三个轴的单轴 ViTfusion阶段复用三轴 encoder,训练患者级fusion_nn头pred阶段支持两种患者级输出:weighted_votefusion_nnboth
每个患者的每张 (16, 368) 灰度图都作为独立样本共享患者标签,不再使用旧的中间特征缓存或跨轴组合穷举训练流程。
快速开始
1. 导出模板
vit get --path ./configs
导出内容:
model_config.yamldata_config.yamltraining_config.yamlexperiment_config.yamlmulti_axis_config.yamlmonitoring_config.yamlUSAGE.md
2. 训练三轴 ViT
vit train --config configs/base --stage axis --axis x --verbose
vit train --config configs/base --stage axis --axis y --verbose
vit train --config configs/base --stage axis --axis z --verbose
关键参数:
--stage axis--axis x|y|z--config <yaml_dir>--data可选。未提供时使用multi_axis.axis_data_paths.<axis>--label可选。未提供时使用配置文件中的标签路径
3. 训练 fusion 头
vit train --config configs/base --stage fusion --verbose
fusion 阶段会默认解析:
experiments/<name>/axis-x/checkpoints/best_model.pthexperiments/<name>/axis-y/checkpoints/best_model.pthexperiments/<name>/axis-z/checkpoints/best_model.pth
也可以显式覆盖:
--axis-checkpoint-x--axis-checkpoint-y--axis-checkpoint-z
4. 患者级预测
vit pred --mode weighted_vote --config configs/base --data dataset/predict_root
vit pred --mode fusion_nn --config configs/base --data dataset/predict_root
vit pred --mode both --config configs/base --data dataset/predict_root --label dataset/label.csv
预测模式:
weighted_vote:单图概率 -> 轴内患者均值 -> 跨轴加权投票fusion_nn:单图特征 -> 轴内患者均值 -> fusion headboth:同时输出两条分支
预测数据支持:
- 根目录包含
data-x/、data-y/、data-z/ - 平铺 PNG 目录,文件名为
{patient_id}_{Z}_{Y}_{X}.png
输出结构
训练输出:
experiments/<experiment_name>/
axis-x/
checkpoints/
results/
logs/
axis-y/
checkpoints/
results/
logs/
axis-z/
checkpoints/
results/
logs/
fusion/
checkpoints/
results/
logs/
testset/
data-x/
data-y/
data-z/
label.csv
预测输出:
predictions.csvprediction_summary.jsonconfusion_matrix_weighted_vote.png,当有标签且启用weighted_voteconfusion_matrix_fusion_nn.png,当有标签且启用fusion_nn
配置要点
training.common:设备、worker、混合精度等公共训练参数training.axis:单轴 ViT 训练参数training.fusion:fusion 头训练参数multi_axis.patient_pooling:患者内均值聚合规则multi_axis.weighted_vote:加权投票配置multi_axis.fusion_head:患者级 fusion 头配置monitoring.axis / monitoring.fusion / monitoring.prediction:分阶段监控与预测阈值
开发
conda activate Vit
pip install -e .
vit --help
构建:
conda run -n Vit python -m build
许可证
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
btvit_cli-0.2.1.tar.gz
(136.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
btvit_cli-0.2.1-py3-none-any.whl
(124.6 kB
view details)
File details
Details for the file btvit_cli-0.2.1.tar.gz.
File metadata
- Download URL: btvit_cli-0.2.1.tar.gz
- Upload date:
- Size: 136.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
beb91276dec6fe1cfa4105ad80695d3e90c28ec6d519f5593938dbd509fc3d30
|
|
| MD5 |
6a77949abbfd2110d6c518f49ade31e6
|
|
| BLAKE2b-256 |
f33a800c290ba9ff4d88b633f65a4a9ed3c826fded9cb6a4226f1eacf598b72d
|
File details
Details for the file btvit_cli-0.2.1-py3-none-any.whl.
File metadata
- Download URL: btvit_cli-0.2.1-py3-none-any.whl
- Upload date:
- Size: 124.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468c9b35f781feaeb92877b15a648a89c500bb588f3c2e2cc43ff3d5ca25f799
|
|
| MD5 |
583d4bf50c0b95e0fe1a1a806ef63d5f
|
|
| BLAKE2b-256 |
d51377b3fe9b4880efedb61083271af6f956edd5ba1200e70b8e4ecb67610374
|