Skip to main content

使用深度学习进行 3D 形状分析

项目描述

项目状态:活跃——项目已达到稳定、可用状态,正在积极开发中。 蟒蛇版本 派皮 下载 车轮 发展状况 测试 覆盖状态 代码风格:黑色

Matt De Vries 的 Cellshape 标志


Cellshape-voxel 是一种易于使用的工具,可以使用深度学习,特别是 3D 卷积神经网络来分析细胞的形状。该工具提供了在 3D 单细胞掩码上训练 3D 卷积自动编码器的能力,并提供了用于推理的预训练网络。

安装

pip install cellshape-voxel

用法

基本用法

import torch
from cellshape_voxel import VoxelAutoEncoder
from cellshape_voxel.encoders.resnet import Bottleneck

model = VoxelAutoEncoder(num_layers_encoder=3,
                         num_layers_decoder=3,
                         encoder_type="resnet",
                         input_shape=(64, 64, 64, 1),
                         filters=(32, 64, 128, 256, 512),
                         num_features=50,
                         bias=True,
                         activations=False,
                         batch_norm=True,
                         leaky=True,
                         neg_slope=0.01,
                         resnet_depth=10,
                         resnet_block_inplanes=(64, 128, 256, 512),
                         resnet_block=Bottleneck,
                         n_input_channels=1,
                         no_max_pool=True,
                         resnet_shortcut_type="B",
                         resnet_widen_factor=1.0)

volume = torch.randn(1, 64, 64, 64, 1)

recon, features = model(volume)

要在细胞或细胞核的掩码上训练 3D resnet 自动编码器:

import torch
from torch.utils.data import DataLoader
import cellshape_voxel as voxel


input_dir = "path/to/binary/mask/files/"
batch_size = 16
learning_rate = 0.0001
num_epochs = 1
output_dir = "path/to/save/output/"

model = voxel.AutoEncoder(
    num_layers_encoder=4,
    num_layers_decoder=4,
    input_shape=(64, 64, 64, 1),
    encoder_type="resnet",
)

dataset = voxel.VoxelDataset(
    PATH_TO_DATASET, transform=None, img_size=(300, 300, 300)
)

dataloader = voxel.DataLoader(dataset, batch_size=batch_size, shuffle=True)

optimizer = torch.optim.Adam(
    model.parameters(),
    lr=learning_rate * 16 / batch_size,
    betas=(0.9, 0.999),
    weight_decay=1e-6,
)

voxel.train(model, dataloader, 1, optimizer, output_dir)

参数

  • num_features: 诠释。
    自动编码器潜在空间的大小。如果您有矩形图像,请确保您的图像尺寸是宽度和高度的最大值
  • k: 诠释。
    在 k-最近邻图构造中使用的邻居数。
  • encoder_type: 诠释。
    编码器类型:“foldingnet”或“dgcnn”
  • decoder_type: 诠释。
    解码器类型:'foldingnet' 或 'dgcnn'

对于开发人员

  • 分叉存储库
  • 克隆你的叉子
git clone https://github.com/USERNAME/cellshape-voxel 
  • 安装具有-e开发要求 ( ) 的可编辑版本 ( dev)
cd cellshape-voxel
pip install -e .[dev] 
  • 要安装预提交挂钩以确保格式正确:
pre-commit install
  • 要发布新版本:

首先,使用 bump2version ( bump2version patch, bump2version minorbump2version major) 更新版本。这将增加包版本(到发布候选 - 例如0.0.1rc0)并标记提交。将此标签推送到 GitHub 以运行部署工作流程:

git push --follow-tags

一旦发布候选版本经过测试,发布版本可以使用以下命令创建:

bump2version release

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

cellshape-voxel-0.0.5.tar.gz (8.0 kB 查看哈希

已上传 source

内置分布

cellshape_voxel-0.0.5-py3-none-any.whl (8.0 kB 查看哈希

已上传 py3