This project is a part of Google Summer of Code 2022.
GSoC'22 @ TensorFlow Project Link
Developing healthcare examples to showcase various use cases of deep learning algorithms and their applications. These sample notebooks will provide students as well as the researchers an overview of the working of deep learning algorithms in real-time scenarios. Further, these trained models will be primarily used on a web-inference engine (currently under development) for underfunded medical sectors.
Pseudo Segmentation is a process of creation of fake mask maps by using the classification approach on the entire image at the patch level. The entire slide image is broken down into patches of fixed length and these patches are then classified. If found positive, that patch in the original image is then masked, thereby, creating a fake mask map.
- Clone the repository.
git clone https://github.com/mayureshagashe2105/GSoC-22-TensorFlow-Resources-and-Notebooks.git
- Go to the project directory.
cd GSoC-22-TensorFlow-Resources-and-Notebooks
- Checkout to the branch
localhost
git checkout localhost
- Go to the
app
driectory.
cd app
- Install the requiremnets.
pip install -r requirements.txt
- Make sure you have
openslide-binary
from this link - Run the following command:
streamlit run 🏠_Home.py
Blog Post:
- Understanding the structure of the data and tiff files.
- Dataset is hosted on kaggle and is very huge (412 GB). In order to get started, write a script to download the subset of the data from the kaggle environment.
- Perform basic EDA.
- Design custom data generators to ingest the data at the patch-level and benchmark the data generators.
- Train a baseline model.
- Create fake segmentation/color maps on the basis of classification results from the baseline model.
- Optimize the Datagenerators for level 0 patch extraction.
- Add
write to disk
functionality to Datagenerators. - Map classification results at higer resolution to segmentation map at a lower resolution.
- Benchmarking the Input pipeline.
- Depicting Diagramatic Explanantions.
- Optimizing patch extraction process.
- Try to simplify the codebase.
- Document the approach used.
- MLPs with JAX (Batch_mode)
- CNNs with JAX
- ViTs with JAX-Flax.
- Figure out how to use ViTs with patch based learning.
- Fix bug in score function from ViT.
- Use optax for optimizer state handling.
- Fix inappropriate accuracy bug.
- Document the ViTs.
- Add docstrings to ViTs.
- Add dropout layer and support for dropout_rng.
- Add tensorboard pulgin.
- Publish a release.
- Final Work product document write-up.