nobrainer
nobrainer copied to clipboard
A framework for developing neural network models for 3D image processing.
https://arxiv.org/pdf/1804.03999.pdf or https://github.com/sabeenlohawala/tissue_labeling/blob/6a1ab8466ba6629a1d9d4e553793a26d72f2b60b/TissueLabeling/models/attention_unet.py (this is in pytorch)
According to the tensorflow user guide, tfrecords files should be ~100MB (https://github.com/tensorflow/docs/blob/master/site/en/r1/guide/performance/overview.md). When tfrecords datasets are constructed from files, the shard size could be automatically computed to follow this guidance.
Look into using [tf.extract_volume_patches](https://www.tensorflow.org/api_docs/python/tf/extract_volume_patches) for https://github.com/neuronets/nobrainer/blob/ed0d609333f9aea724c5fd45962c36dfd8a13d88/nobrainer/volume.py#L149
- [UNETR: Transformers for 3D Medical Image Segmentation](https://arxiv.org/abs/2103.10504) - [Model](https://github.com/Project-MONAI/research-contributions/tree/main/UNETR) (in pytorch) - [Tensorflow Code](https://www.kaggle.com/code/usharengaraju/tensorflow-unetr-w-b)
Workflow (Guide Notebooks Regression - EC2) failing because of version upgrade in default tensorflow
- [Failed run](https://github.com/neuronets/nobrainer/actions/runs/8222757665/job/22484651746) installs `tensorflow==2.16.x` - [Successful run](https://github.com/neuronets/nobrainer/actions/runs/8203646585) installs `tensorflow==2.15.x` Solution: lock the pip dependency for tensorflow at 2.15.x for the time being (notice this will not work on openmind...
What are you trying to accomplish? - Adding/passing callbacks to the fit method (for Segmentation) - Noticed no `callbacks` input argument in the method definition What have you tried? (TODO)...
The `get_steps_per_epoch` method of the `nobrainer.dataset.Dataset` class assumes blocks are created from the input images. This method needs refactoring to handle the `block_shape = None` case. https://github.com/neuronets/nobrainer/blob/ed0d609333f9aea724c5fd45962c36dfd8a13d88/nobrainer/dataset.py#L249-L266
https://github.com/neuronets/nobrainer/blob/ed0d609333f9aea724c5fd45962c36dfd8a13d88/nobrainer/models/unet.py#L41 and https://github.com/neuronets/nobrainer/blob/ed0d609333f9aea724c5fd45962c36dfd8a13d88/nobrainer/models/unet.py#L27-L39
for reference https://www.nature.com/articles/s41592-020-01008-z
For the new `processing` API, `fit()` should accept an optional `devices` argument that will run the training on the specified devices. This could replace the boolean `multi_gpu` argument that currently...