A project that classifies the MURA dataset by using transfer learning, the pretrained models in this project are:
- inception V3.
- mobilenet.
- densenet.
to test the project follow these steps:
- download the code.
- download the MURA V1.1 dataset and extract the folder 'MURA-v1.1' to the same directory as the project files.
- download the pretrained models from inception, mobilenet and densenet.
- use the instructions on this page to freeze the densenet model.
- create 3 folders 'densenet-data', 'inception-data' and 'mobilenet-data' and add the files of the pretrained models to these folders.
- run the file 'preprocessMURA.py', this code splits the files 'train_image_paths.csv' and 'valid_image_paths.csv' into files, one file for each category of images in the dataset.
- run the file 'train.py', this code will produce the transfer values of the MURA dataset using one or more of the pretrained models, the default is all three pretrained models. if more than one pretrained model is used, the result of the pretrained models of each image are concatenated, the final result will then be cached to pkl files, this might take a long time depending on your hardware.
- run the file 'evaluateMURA.py', this file will use the produced pkl files in order to evaluate the validation data using the training data.
A sample of the result by using the mobilenet and the inception models on the validation data: