July 27, 2019

765 words 4 mins read



This is the hands-on deep learning tutorial series for the 2018/2019 Medical AI course by DeepOncology AI.

repo name deeponcology/PyTorchMedicalAI
repo link https://github.com/deeponcology/PyTorchMedicalAI
homepage http://www.deeponcology.ai
language Jupyter Notebook
size (curr.) 21443 kB
stars (curr.) 120
created 2018-11-10

Applied Deep Learning in Radiology, Oncology and Pathology - 2019.

למידה עמוקה ברפואה, רדיולוגיה ואונקולוגיה


Dear Colleagues,

The Medical AI industry is deeply rooted in invention. Data, technologies, and artificial intelligence (AI) algorithms create innovative products that diagnose, treat, and prevent cancer and other disease. Though, the rate at which AI can advance healthcare rests on on how rapidly the industry and healthcare leaders embrace it. This change is most apparent in medical imaging, where deep learning is controlling the research.

It is my pleasure to present this Deep Learning in Medical AI series which has been designed to highlight and summarize key concepts in the use of Deep Learning in medicine. This series set specifically focuses on Radiology, Oncology and Pathology.

The area of deap learning research in oncology is a challenging and ever changing environment. Within this environment, we all value access to publicly available and annotated data and research which helps to educate and inspire further advancements in our roles as data scientists.

I hope you find this series of benefit to you in your practice. If you would like to share your thoughts with us we would welcome your comments. Please send any correspondence to shlomo@deeponcology.ai.

Finally, we are also very grateful to Google for their administrative and logistical support (e.g. GPU’s) in the realization of this activity.

English / שפת לימוד הקורס: אנגלית

סילבוס בעברית

נושאי לימוד

Old course:


Shlomo Kashani, Head of AI at DeepOncology AI, Kaggle Expert, Founder of Tel-Aviv Deep Learning Bootcamp: shlomo@deeponcology.ai


Google Collab + PyTorch Notebooks:


Knowledge of python programming Basics of linear algebra and statistics.

Environment :

Google Collab, Google Cloud, Python Jupyter



Lab 0001: DevOps + DataLoaders for Deep Learning in PyTorch 0.4

PyTorch is an open source deep learning framework that’s quickly become popular with AI researchers for its ease of use, clean Pythonic API, and flexibility. With the preview release of PyTorch 1.0, developers can now seamlessly move from exploration to production deployment using a single, unified framework.

DevOps for PyTorch on Google Cloud

  • Google Collab setup
  • Running a CUDA program in C from Python


PyTorch 0.4 Intensive, data engineering

  • PyTorch Tensors on the GPU
  • Basics of PyTorch Data Loaders
  • Standard PyTorch Augmentations (Transforms)
  • Writing custom PyTorch Augmentations (RandomErasing)
  • SOTA Augmentation libraries (Albumentations)

Lab 0002: PyTorch 0.4 Intensive, CNN’s for Classification


Lab 0003: PyTorch 0.4 Intensive, CNN’s for Segmentation


Lab 0004: PyTorch 0.4 Intensive, CNN’s for Detection



  • Histopathology Images

Old Labs:


Deep learning, a sub-domain of machine learning, has lately showed amazing results across an assortment of domains. Biology and medicine are data affluent, but the data is involved and frequently ill-understood. Problems of this quality may be especially well-suited to deep learning methods.

This is a provisional curriculum, which is subject to change without notice.


Data Sets in PyTorch

Keep in mind that this repository expects data to be in same format as Imagenet. I encourage you to use your own datasets. In that case you need to organize your data such that your dataset folder has EXACTLY two folders. Name these ‘train’ and ‘val’

The ‘train’ folder contains training set and ‘val’ fodler contains validation set on which accuracy / log loss is measured.

The structure within ‘train’ and ‘val’ folders will be the same. They both contain one folder per class. All the images of that class are inside the folder named by class name; this is crucial in PyTorch.

If your dataset has 2 classes like in the Kaggle Statoil set, and you’re trying to classify between pictures of 1) ships 2) Icebergs, say you name your dataset folder ‘data_directory’. Then inside ‘data_directory’ will be ‘train’ and ‘test’. Further, Inside ‘train’ will be 2 folders - ‘ships’, ‘icebergs’.

So, the structure looks like this:

|-  data_dir
       |- train 
             |- ships
                  |- ship_image_1
                  |- ship_image_2

             |- ice
                  |- ice_image_1
                  |- ice_image_1
       |- val
             |- ships
             |- ice

For a full example refer to: https://github.com/QuantScientist/Deep-Learning-Boot-Camp/blob/master/Kaggle-PyTorch/PyTorch-Ensembler/kdataset/seedings.py

comments powered by Disqus