A machine learning-powered tool for classifying blood and bone marrow cells using microscopy image data.
This project focuses on the classification of blood and bone marrow cells using deep learning techniques. It utilizes data from the Cancer Imaging Archive and provides a system for training models, interpreting results, and deploying a user-friendly interface with back-end and front-end support.
Key features:
- Pre-trained models for cell classification.
- Customizable training pipeline for new datasets.
- Dockerized deployment for seamless integration.
The project uses the following dataset:
Matek, C., Krappe, S., Münzenmayer, C., Haferlach, T., & Marr, C. (2021).
An Expert-Annotated Dataset of Bone Marrow Cytology in Hematologic Malignancies [Data set].
The Cancer Imaging Archive
This dataset includes expertly annotated images of bone marrow cytology, aiding the development of robust classification models.
- Python 3.8+
- NVIDIA GPU with CUDA support for model training
- Docker and Docker Compose
-
Clone the repository:
git clone https://github.com/dglubokov/blood-classifier.git cd blood-classifier
-
Install required Python dependencies:
pip install -r requirements.txt
-
Ensure Docker is installed and running:
docker --version docker-compose --version
-
Prepare your dataset and place it in the appropriate directory.
-
Modify paths in the Jupyter notebook file ./experiments/5_experiment.ipynb to point to your dataset.
-
Run the notebook:
jupyter notebook ./experiments/5_experiment.ipynb
⚠️ Note: A powerful GPU is required to train the models efficiently. -
After training, the models and interpreted image examples will be saved locally.
-
Move the trained models to the
./models/
directory (create this directory if it doesn't exist):mkdir models mv <your_model_files> ./models/
-
Start the Dockerized system:
docker-compose up
This will launch:
- FastAPI Back-End: Accessible at http://0.0.0.0:8082/docs/
- React Front-End: Accessible at http://0.0.0.0:3000/