A PyTorch-based deep learning library for multi-task brain MRI analysis. Train models for simultaneous dementia classification and brain tumor detection with just a few lines of code.
- π§ Multi-Task Learning: Simultaneous dementia and tumor classification
- β‘ Easy to Use: Keras-like API for quick training
- π― Dual Attention: Task-specific attention mechanisms
- π Visualization: Built-in attention heatmap visualization
- π§ Configurable: YAML/JSON configuration support
- π¦ Production Ready: Export and deploy trained models
Dementia (6 classes):
- AD Alzheimer's Disease
- AD Mild Demented
- AD Moderate Demented
- AD Very Mild Demented
- CN Non-Demented (Cognitively Normal)
- PD Parkinson's Disease
Brain Tumor (4 classes):
- Glioma
- Meningioma
- No Tumor
- Pituitary
# Basic installation
pip install vbai
# With all optional dependencies
pip install vbai[full]
# Development installation
git clone https://github.com/Neurazum-AI-Department/vbai.git
cd vbai
pip install -e .[dev]import vbai
# Create model
model = vbai.MultiTaskBrainModel(variant='q') # 'q' for quality, 'f' for fast
# Prepare dataset
dataset = vbai.UnifiedMRIDataset(
dementia_path='./data/dementia/train',
tumor_path='./data/tumor/train',
is_training=True
)
# Create trainer
trainer = vbai.Trainer(
model=model,
lr=0.0005,
device='cuda'
)
# Train
history = trainer.fit(
train_data=dataset,
epochs=10,
batch_size=32
)
# Save model
trainer.save('brain_model.pt')import vbai
# Load trained model
model = vbai.load('brain_model.pt', device='cuda')
# Single image prediction
result = model.predict('brain_scan.jpg')
print(f"Dementia: {result.dementia_class} ({result.dementia_confidence:.1%})")
print(f"Tumor: {result.tumor_class} ({result.tumor_confidence:.1%})")
# With attention visualization
result = model.predict('brain_scan.jpg', return_attention=True)
vis = vbai.VisualizationManager()
vis.visualize('brain_scan.jpg', result, save=True)import vbai
model = vbai.MultiTaskBrainModel(variant='q')
# Setup callbacks
callbacks = [
vbai.EarlyStopping(monitor='val_loss', patience=5),
vbai.ModelCheckpoint(
filepath='checkpoints/model_{epoch:02d}.pt',
monitor='val_loss',
save_best_only=True
)
]
trainer = vbai.Trainer(model=model, callbacks=callbacks)
trainer.fit(train_data, val_data, epochs=50)import vbai
# Use preset configurations
config = vbai.get_default_config('quality') # 'default', 'fast', 'quality', 'debug'
# Or customize
model_config = vbai.ModelConfig(
variant='q',
dropout=0.3,
use_edge_branch=True
)
training_config = vbai.TrainingConfig(
epochs=20,
batch_size=16,
lr=0.0001,
scheduler='cosine'
)
# Save/Load configs
model_config.save('model_config.yaml')
loaded_config = vbai.ModelConfig.load('model_config.yaml')| Variant | Layers | Channels | Speed | Accuracy |
|---|---|---|---|---|
f (fast) |
3 | 32β64β128 | β‘β‘β‘ | ββ |
q (quality) |
4 | 64β128β256β512 | β‘ | βββ |
Your dataset should be organized as follows:
data/
βββ dementia/
β βββ train/
β β βββ AD_Alzheimer/
β β βββ AD_Mild_Demented/
β β βββ AD_Moderate_Demented/
β β βββ AD_Very_Mild_Demented/
β β βββ CN_Non_Demented/
β β βββ PD_Parkinson/
β βββ val/
β βββ ...
βββ tumor/
βββ train/
β βββ Glioma/
β βββ Meningioma/
β βββ No_Tumor/
β βββ Pituitary/
βββ val/
βββ ...
MultiTaskBrainModel- Main model classUnifiedMRIDataset- Dataset for multi-task trainingTrainer- Training loop managerVisualizationManager- Attention heatmap visualization
ModelConfig- Model architecture settingsTrainingConfig- Training hyperparametersget_default_config()- Preset configurations
EarlyStopping- Stop when no improvementModelCheckpoint- Save best/all checkpointsTensorBoardLogger- Log to TensorBoard
See the examples/ directory for complete examples:
train_basic.py- Basic training exampletrain_advanced.py- Advanced training with callbacksinference.py- Model inferencevisualize.py- Attention visualization
If you use Vbai in your research, please cite:
@software{vbai,
title = {Vbai: Visual Brain AI Library},
author = {Neurazum},
year = {2025},
url = {https://github.com/Neurazum-AI-Department/vbai}
}MIT License - see LICENSE for details.
Is being planned...
- Website: Neurazum - HealFuture
- Email: contact@neurazum.com
Neurazum AI Department