Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acDL

个人深度学习研究实验工具包,基于 PyTorch 构建。将日常实验中重复使用的内容工程化封装,方便快速开展实验。

功能

  • 模型: AlexNet、ViT、U-Net、MLP、1D Transformer
  • 数据加载: 图像数据集、Pandas 表格数据、SimpleITK 医学影像重采样
  • 评估工具: 交叉验证、ROC 分析、Bootstrap AUC 置信区间、t 检验

安装

pip install -e .

快速开始

图像分类 (ViT)

from acDL.model.core import Vit_Model
import torch

model = Vit_Model(c=3, h=224, w=224, patch_h=16, patch_w=16, class_num=10)
x = torch.randn(4, 3, 224, 224)
y = model(x)  # shape: (4, 10)

表格数据 (MLP)

from acDL.model import MLP
from acDL.utils.data import PandasReader, PandasDataSet
import pandas as pd
from torch.utils.data import DataLoader

df = pd.read_csv("data.csv")
reader = PandasReader(df)
dataset = PandasDataSet(reader, labels)
loader = DataLoader(dataset, batch_size=32, shuffle=True)

model = MLP(input_dim, [128, 64], class_num=2, end=True)

图像分割 (U-Net)

from acDL.model.cv.segment.unet import Unet_Model
import torch

model = Unet_Model(in_channels=1, out_channels=2, embeding=64, sample=4)
x = torch.randn(2, 1, 256, 256)
y = model(x)  # shape: (2, 2, 256, 256)

医学影像重采样

from acDL.utils.data import resample, batch_resample
import SimpleITK as sitk

image = sitk.ReadImage("scan.nii.gz")
resampled = resample(image, new_spacing=(1.0, 1.0, 1.0))

项目结构

acDL/
  src/acDL/              # Python 包
    model/
      core.py            # 基础模块: MLP, Attention, ViT, Transformer
      cv/                # 计算机视觉模型
        classify/        # 分类: ViT, 训练函数
        segment/         # 分割: U-Net
      onedim/            # 1D 数据模型
    utils/
      data/              # 数据加载: 图像、表格、重采样
      sklearn/           # 交叉验证、ROC 分析
      static/            # 统计检验
  tests/                 # 测试用例
  example/               # 使用示例

开发

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 代码检查
ruff check .

About

个人深度学习研究实验工具包,将日常实验中重复使用的内容工程化封装,方便快速开展实验。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages