用于医学成像的深度学习管道
项目描述
介绍
TFCAIDM是一个统一框架,用于构建和训练基于TensorFlow和JarvisMD的医学成像深度学习模型。该库支持将自定义数据集与jarvis、模型开发tensorflow和所有实验的内置再现性、可追溯性和性能日志记录接口。用户可以训练或扩展已经实现MODEL_ZOO.md或定义自己的现有模型。
可用功能
- 可重复使用的最先进的深度学习模型块
- 支持并行训练多个模型
- 用于自定义数据集、模型、损失函数、训练例程等的高级界面。
- 再现性、性能记录、模型检查点和超参数跟踪
即将推出的功能
- AutoML / 高效的超参数搜索
- 分布式数据和模型训练
- 视觉变压器模型
- 更好的文档
更多信息
- YAML 配置文件
- 超参数调优
- 支持的机型
- 可定制性
- 查看结果
- 基准(即将推出)
免责声明:该库主要是为有权访问 caidm 集群的用户构建的,但也支持普通用户。
安装
当前库在 python 3.7 和 tensorflow 2.5+ 上受支持,下面提供的安装说明假设您的系统已经配备了 cuda 和 nvcc。
本地安装
使用conda虚拟环境安装。
user您的帐户用户名在哪里。
user $ conda create --name tfcaidm python=3.7
user $ conda activate tfcaidm
user (tfcaidm) $ pip install tensorflow
user (tfcaidm) $ pip install jarvis-md
user (tfcaidm) $ pip install tfcaidm
例子
训练一组模型需要两个单独的 python 脚本:一个训练提交脚本和一个训练例程脚本。
培训提交
from jarvis.utils.general import gpus
from tfcaidm import Jobs
# --- Define paths
YML_CONFIG = "pipeline.yml"
TRAIN_ROUTINE_PATH = "main.py"
# --- Submit a training job
Jobs(path=YML_CONFIG).setup(
producer=__file__,
consumer=TRAIN_ROUTINE_PATH,
).train_cluster()
自动化训练程序
from jarvis.train import params
from jarvis.utils.general import gpus
from tfcaidm import Trainer
# --- Autoselect GPU (use only on caidm cluster)
gpus.autoselect()
# --- Get hyperparameters (args passed by environment variables)
hyperparams = params.load()
# --- Train model (dataset and model created within trainer)
trainer = Trainer(hyperparams)
results = trainer.cross_validation(save=True)
trainer.save_results(results)
自定义训练程序
from jarvis.train import params
from jarvis.utils.general import gpus, overload
from tfcaidm import JClient
from tfcaidm import Model
from tfcaidm import Trainer
# --- Autoselect GPU (use only on caidm cluster)
gpus.autoselect()
# --- Get hyperparameters (args passed by environment variables)
hyperparams = params.load()
# --- Setup custom dataset generator (more details in notebooks)
@overload(JClient)
def create_generator(self, gen_data):
for xs, ys in gen_data:
# --- User defined code
xs = DataAugment(xs)
yield xs, ys
# --- Setup custom model (more details in notebooks)
@overload(Model)
def create(self):
# --- User defined code
model = ViT(...)
model.compile(...)
return model
# --- Train model (dataset and model created within trainer)
trainer = Trainer(hyperparams)
results = trainer.cross_validation(save=True)
trainer.save_results(results)
# See notebooks for a breakdown on customizability
有关示例项目,请参阅示例/项目。有关库的更详细演练,请参阅notebooks。
姐妹存储库
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
tfcaidm-0.0.0a4.tar.gz
(52.6 kB
查看哈希)
内置分布
tfcaidm-0.0.0a4-py3-none-any.whl
(78.2 kB
查看哈希)