Visual Brain AI - Multi-task brain MRI analysis library
Project description
Vbai - Visual Brain AI
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.
Features
- ๐ง 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
Supported Classifications
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
Installation
# 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]
Quick Start
Training a Model
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')
Making Predictions
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)
Using Callbacks
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)
Configuration
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')
Model Variants
| Variant | Layers | Channels | Speed | Accuracy |
|---|---|---|---|---|
f (fast) |
3 | 32โ64โ128 | โกโกโก | โญโญ |
q (quality) |
4 | 64โ128โ256โ512 | โก | โญโญโญ |
Dataset Structure
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/
โโโ ...
API Reference
Core Classes
MultiTaskBrainModel- Main model classUnifiedMRIDataset- Dataset for multi-task trainingTrainer- Training loop managerVisualizationManager- Attention heatmap visualization
Configuration
ModelConfig- Model architecture settingsTrainingConfig- Training hyperparametersget_default_config()- Preset configurations
Callbacks
EarlyStopping- Stop when no improvementModelCheckpoint- Save best/all checkpointsTensorBoardLogger- Log to TensorBoard
Examples
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
Citation
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}
}
License
MIT License - see LICENSE for details.
Contributing
Is being planned...
Support
- Website: Neurazum - HealFuture
- Email: contact@neurazum.com
Neurazum AI Department
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vbai-0.1.3.tar.gz.
File metadata
- Download URL: vbai-0.1.3.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8315da441caab4d6f7ba6d32a77a6684f4ce19a79b30f958e2dad27effd6237
|
|
| MD5 |
3860ad4f39891290a60e353b633dbc48
|
|
| BLAKE2b-256 |
55eb64c8742e5211713bb947fd0059424c989a66760594ebe0bfa7bbe15dc92b
|
File details
Details for the file vbai-0.1.3-py3-none-any.whl.
File metadata
- Download URL: vbai-0.1.3-py3-none-any.whl
- Upload date:
- Size: 35.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b5bab0e33ccbac3a0af06d79c5822417783d07cf9ae15657e1999064fa7226
|
|
| MD5 |
e9a0083f21c1784e55c7674695bc6623
|
|
| BLAKE2b-256 |
57229aa9fd541407ada5e469a09c3bb9dc1a8a012398e855359a210becb57893
|