Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Skin cancer detection using IBM PowerAI Vision

Skin cancer detection using IBM PowerAI Vision

Skin cancer detection using IBM PowerAI Vision

Kacper Łukawski

May 15, 2019
Tweet

More Decks by Kacper Łukawski

Other Decks in Research

Transcript

  1. Agenda: Problem definition Handling the dataset with IBM PowerAI Vision

    Custom model creation Training the model One-click production deployment
  2. One of the classes is overrepresented in the dataset. Handling

    the dataset with IBM PowerAI Vision • Undersampling • Oversampling Solution
  3. One of the classes is overrepresented in the dataset. Handling

    the dataset with IBM PowerAI Vision • Undersampling • Oversampling with data augmentation Solution
  4. Custom model creation • IBM PowerAI Vision delivers some pretrained

    models to be used for transfer learning • But, sometimes they might not be enough - that’s where custom models come to the game
  5. Custom model creation from train_interface import TrainCallback class MyTrain(TrainCallback): def

    __init__(self): pass def onPreprocessing(self, labels, images, workspace_path, params): pass def onTraining(self, monitor_handler): pass def onCompleted(self, model_path): pass def onFailed(self, train_status, e, tb_message): pass • All the logic is kept in a single class • Tensorflow is available by default, with a GPU support • It is possible to perform a preprocessing of the data, e.g. resize the images • Train/test loss and accuracy tracking done simple and exposed to UI
  6. Custom model creation from deploy_interface import DeployCallback class MyDeploy(DeployCallback): def

    __init__(self): pass def onModelLoading(self, model_path, labels, workspace_path): pass def onTest(self): pass def onInference(self, image_url, params): pass def onFailed(self, deploy_status, e, tb_message): pass • Deployment preparation done as a separate class • Trained models are loaded and then used for the classification
  7. Training the model • Called on a selected dataset •

    Two types of training: image classification and object detection • A possibility to adapt model hyperparameters • Launched on GPUs, in exactly same way like built-in pretrained models
  8. Training the model • Live tracking of the training progress

    • A summary of model hyperparameters • Train/test loss and test accuracy preview
  9. Training the model • A summary of achieved accuracy and

    hyperparameters • A chart of loss vs iteration • Easy one-click deployment of the trained model • Possibility to export the model to .zip file and to use it outside the platform (e.g. mobile device)
  10. Training the model • Due the usage of high-performance GPUs,

    it is possible to reduce the training time
  11. One-click production deployment • Deployment done just by clicking at

    the button • Trained models exposed as an endpoint in the HTTP REST API • A possibility to test created model from UI, by uploading the images
  12. Summary • IBM PowerAI Vision allows to perform really fast

    ML training for image classification and object detection • Dataset management and labelling integrated in the tool • A deep knowledge of Machine Learning is not necessary • It is possible to extend the platform by providing some custom models, what makes it great for transfer learning, for instance • If you are interested in hearing some more technical details, there is a workshop at Rise of AI tomorrow, 16th March, 4:00pm