Skip to main content

用于医学成像的深度学习管道

项目描述

TFCAIDM 张量

TensorFlow CAIDM

用于医学成像的深度学习管道

网站| 幻灯片| 执照


介绍

TFCAIDM是一个统一框架,用于构建和训练基于TensorFlowJarvisMD的医学成像深度学习模型。该库支持将自定义数据集与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 查看哈希

已上传 source

内置分布

tfcaidm-0.0.0a4-py3-none-any.whl (78.2 kB 查看哈希

已上传 py3