Skip to content

2016 IBM Watson hackathon entry. EDWARD is a Convolutional Neural Network (CNN) interface designed for analysis of biomedical data

License

Notifications You must be signed in to change notification settings

AlekseiShkurin/EDWARD_IBM_hackathon

Repository files navigation

EDWARD

EDWARD is a solution to 2016 IBM Watson Hackathon. In this work, we developed a graphical user interface for training Convolutional Neural Networks (CNNs), specifically design to support training on biomedical images (X-rays, MRI scans etc). The goal is to create tools that would increase the quality of medical imaging analysis.

File list


Classifiers:

  • logistic_sgd.py Multi-class logistic regression
  • mlp.py Multilayer perceptron
  • convolutional_mlp.py Convolutional Neural Network

Interface:

  • tryconsole.py Starts calculations on the console
  • testdesign.py Graphical interface
  • executework.py Execution code

Requirements & Guide


Step 1
Run executework to launch interface

Step 2
Press "Create!"

Step 3
Specify the parameters, searching for the best combination to fit your data

Step 4
In "Import Data" and specify the path to your .zip file

Note: EDWARD allows you to create classifiers with unlimited amount of classes in the most simple way. Just create one folder per class and name it numericalluy (i.e. 0, 1, 2, etc.), then place all the .jpg images from each class to corresponding folder. After converting the directory to .zip file, your dataset is ready. Just select the path to the file in EDWARD and press "Submit"

Step 5
Press "Submit"

Step 6
After the appearance of the console output window, press "Start" and wait for the model to train. As it is done, you will be able to scroll the window and analyse the performance

Important Note: Currently, load_data function of the model is still under development. So in order to run the model, one has to specify the path manually. This can be done by setting dataset=" " variable in convolutional_mlp script to the correct path to the unzipped folder (if you want to use our demo-data, provide a path to the 'testing' folder that you download from the "data" folder)

Packages: theano, numpy, scipy, pillow, six
pip install theano
pip install numpy
pip install scipy
pip install pillow
pip install six
Python version: at least 3.4.X
Data Format: zip. file
IMG format: .jpg

Parameters


Basic settings:

  • Amount of layers: № of convolutional layers.
  • Batch size: № of training examples in a forward-back pass.
  • Amount of epochs: № of forward-backward pass of all the training examples.
  • Size of pooling: Pooling partitions the input image into a set of non-overlapping rectangles.

Advanced:

  • GPU: For higher performance GPU might be used.
  • Size of filter: Size of a matrix looking for a particular feature (depends of image size).
  • Learning rate: Control of weights and biases.

Note:
We restric parameters to optimal numbers in order to minimize human error.

Sincerely,
Stayin' Alive Team.

About

2016 IBM Watson hackathon entry. EDWARD is a Convolutional Neural Network (CNN) interface designed for analysis of biomedical data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages