miccai-educational-challenge-2019

Tutorial about combining PyTorch and NiftyNet for deep learning and medical image computing

MIT License

Stars
14

Bot releases are visible (Hide)

miccai-educational-challenge-2019 - Combining the power of PyTorch and NiftyNet Latest Release

Published by fepegar about 5 years ago

This is my submission to the MICCAI Educational Challenge 2019.

You can run the notebook on Google Colab or render an already executed version on nbviewer.


Combining the power of PyTorch and NiftyNet

NiftyNet is "an open source convolutional neural networks platform for medical image analysis and image-guided therapy" built on top of TensorFlow. Due to its available implementations of successful architectures, patch-based sampling and straightforward configuration, it has become a popular choice to get started with deep learning in medical imaging.

PyTorch is "an open source deep learning platform that provides a seamless path from research prototyping to production deployment". It is low-level enough to offer a lot of control over what is going on under the hood during training, and its dynamic computational graph allows for easy debugging. Being a generic deep learning framework, it is not tailored to the needs of the medical imaging field, although its popularity in this field is increasing rapidly.

One can extend a NiftyNet application, but it is not straightforward without being familiar with the framework and fluent in TensorFlow 1.X. Therefore it can be convenient to implement applications in PyTorch using NiftyNet models and functionalities. In particular, combining both frameworks allows for fast architecture experimentation and transfer learning.

So why not use both? In this tutorial we will port the parameters of a model trained on NiftyNet to a PyTorch model and compare the results of running an inference using both frameworks.

miccai-educational-challenge-2019 - Combining the power of PyTorch and NiftyNet

Published by fepegar about 5 years ago

This is my submission to the MICCAI Educational Challenge 2019.

You can run the notebook on Google Colab or render an already executed version on nbviewer.


Combining the power of PyTorch and NiftyNet

NiftyNet is "an open source convolutional neural networks platform for medical image analysis and image-guided therapy" built on top of TensorFlow. Due to its available implementations of successful architectures, patch-based sampling and straightforward configuration, it has become a popular choice to get started with deep learning in medical imaging.

PyTorch is "an open source deep learning platform that provides a seamless path from research prototyping to production deployment". It is low-level enough to offer a lot of control over what is going on under the hood during training, and its dynamic computational graph allows for easy debugging. Being a generic deep learning framework, it is not tailored to the needs of the medical imaging field, although its popularity in this field is increasing rapidly.

One can extend a NiftyNet application, but it is not straightforward without being familiar with the framework and fluent in TensorFlow 1.X. Therefore it can be convenient to implement applications in PyTorch using NiftyNet models and functionalities. In particular, combining both frameworks allows for fast architecture experimentation and transfer learning.

So why not use both? In this tutorial we will port the parameters of a model trained on NiftyNet to a PyTorch model and compare the results of running an inference using both frameworks.

miccai-educational-challenge-2019 - Combining the power of PyTorch and NiftyNet

Published by fepegar about 5 years ago

This is my submission to the MICCAI Educational Challenge 2019.

You can run the notebook on Google Colab or render an already executed version on nbviewer.


Combining the power of PyTorch and NiftyNet

NiftyNet is "an open source convolutional neural networks platform for medical image analysis and image-guided therapy" built on top of TensorFlow. It is probably the easiest way to get started with deep learning for medical image.

PyTorch is "an open source deep learning platform that provides a seamless path from research prototyping to production deployment". It's low-level enough to offer a lot of control over what's going on under the hood during training, and its dynamic computational graph allows for very easy debugging. Being a generic deep learning framework, it's not tailored to the needs of the medical image field, although its popularity in this field is increasing rapidly.

One can extend a NiftyNet application, but it's not straightforward without being quite familiar with the framework and fluent in TensorFlow 1.X. Therefore it is convenient to implement applications in PyTorch using NiftyNet models and functionalities. This can be specially used for further experimenting with the model or for transfer learning applications.

So why not use both? This tutorial shows how to port the parameters of a model trained on NiftyNet to a PyTorch model and test the PyTorch model while using NiftyNet's I/O modules, which specialize in medical image processing.

miccai-educational-challenge-2019 - Combining the power of PyTorch and NiftyNet

Published by fepegar about 5 years ago

Open In Colab

This is my submission to the MICCAI Educational Challenge 2019. You can run the notebook on Google Colab.


Combining the power of PyTorch and NiftyNet

NiftyNet is "an open source convolutional neural networks platform for medical image analysis and image-guided therapy" built on top of TensorFlow. It is probably the easiest way to get started with deep learning for medical image.

PyTorch is "an open source deep learning platform that provides a seamless path from research prototyping to production deployment". It is low-level enough to offer a lot of control over what's going on under the hood during training, and its dynamic computational graph allows for very easy debugging. However, being a generic deep learning framework, it is not adapted to the needs of the medical image field.

One can extend a NiftyNet application, but it's not straightforward without being familiar with the framework and being fluent in TensorFlow 1.X.

So why not use both? This tutorial shows how to port the parameters of model trained on NiftyNet to a PyTorch model and test the model while using NiftyNet's I/O modules, which specialize in medical image processing.

Related Projects