Deep learning image classificaiton informed by expert attention
Project description
Expert-attention guided deep learning for medical images
Get Started
Pip install the PYPI distro:
pip install expert-informed-dl
Here's an example of how to use the trained model for inference (with subimages)
Check out eidl/examples/subimage_example.py for a simple example of how to use the trained model for inference on subimages.
from eidl.utils.model_utils import get_subimage_model
subimage_handler = get_subimage_model()
subimage_handler.compute_perceptual_attention('9025_OD_2021_widefield_report', is_plot_results=True, discard_ratio=0.1)
If you don't want to use subimages:
Check out eidl/examples/example.py for a simple example of how to use the trained model for inference.
When forwarding image through the network, use the argument collapse_attention_matrix=True
to get the attention matrix
to get the attention matrix averaged across all heads and keys for each query token.
y_pred, attention_matrix = model(image_data, collapse_attention_matrix=False)
Train model locally
Install requirements.txt
Download Pytorch matching with a CUDA version matching your GPU from here.
Run train.py
For example, if you have 32 * 32 patches,
the attention matrix will be of size (32 * 32 + 1) 1025. Plus one for the classificaiton token.
If you set collapse_attention_matrix=False
, the attention matrix will be
uncollapsed. The resulting attention matrix will be of shape (n_batch, n_heads, n_queries, n_keys). For example, if you have 32 * 32 patches,
one image and one head, the attention matrix will be of shape (1, 1, 1025, 1025).
Troubleshoot
If get model functions raises the following error:
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
You will need to install the correct version of Pytorch matching with a CUDA version matching your GPU from here. This is because all the models are trained on GPU.
Project details
Release history Release notifications | RSS feed
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
Hashes for expert_informed_dl-0.0.12.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c259f5a6e822a284e7bb4d7e341409e6d18595978725e8d63c5c84e693f7473 |
|
MD5 | 14b7b0c953dc486704e65d7eac168b33 |
|
BLAKE2b-256 | 4f1a21381074ef2e71c6f3d2c2d64e5380f3b98d27b18a328be42c95efa9c211 |
Hashes for expert_informed_dl-0.0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38641694203674beeed5313ecf8cccab510f98c05f9e37fe44625c21fcd50f6c |
|
MD5 | 39447c7a8ce84f2a9c0826c09e255dbf |
|
BLAKE2b-256 | 2fe305de551c2959b6a9a02370af97b75e718c28f14cc5a475615512ce9307cf |