Home
Medical-AI is an AI framework for rapid prototyping/experimentation of AI for Medical Applications
Documentation: https://aibharata.github.io/medicalAI/
Source Code: https://github.com/aibharata/medicalai
Youtube Tutorial:
Medical-AI is an AI framework for rapid prototyping of AI for Medical Applications.
Installation¶
$ pip install medicalai
---> 100%
Requirements¶
Python Version : 3.5-3.7 (Doesn't Work on 3.8 Since Tensorflow does not support 3.8 yet.
Dependencies: Numpy, Tensorflow, Seaborn, Matplotlib, Pandas
NOTE: Dependency libraries are automatically installed. No need for user to install them manually.
Usage¶
Getting Started Tutorial: Google Colab¶
Importing the Library¶
import medicalai as ai
Using Templates¶
You can use the following templates to perform specific Tasks
Load Dataset From Folder¶
Set the path of the dataset and set the target dimension of image that will be input to AI network.
trainSet,testSet,labelNames =ai.datasetFromFolder(datasetFolderPath, targetDim = (96,96)).load_dataset()
Check Loaded Dataset Size¶
print(trainSet.data.shape)
print(trainSet.labels.shape)
Run Training and Save Model¶
trainer = ai.TRAIN_ENGINE()
trainer.train_and_save_model(AI_NAME= 'tinyMedNet', MODEL_SAVE_NAME='PATH_WHERE_MODEL_IS_SAVED_TO', trainSet, testSet, OUTPUT_CLASSES, RETRAIN_MODEL= True, BATCH_SIZE= 32, EPOCHS= 10, LEARNING_RATE= 0.001)
Plot Training Loss and Accuracy¶
trainer.plot_train_acc_loss()
Generate a comprehensive evaluation PDF report¶
trainer.generate_evaluation_report()
Explain the Model on a sample¶
trainer.explain(testSet.data[0:1], layer_to_explain='CNN3')
Loading Model for Prediction¶
infEngine = ai.INFERENCE_ENGINE(modelName = 'PATH_WHERE_MODEL_IS_SAVED_TO')
Predict With Labels¶
infEngine.predict_with_labels(testSet.data[0:2], top_preds=3)
Get Just Values of Prediction without postprocessing¶
infEngine.predict(testSet.data[0:2])
Alternatively, use a faster prediction method in production¶
infEngine.predict_pipeline(testSet.data[0:1])
Advanced Usage¶
Code snippet for Training Using Medical-AI¶
## Setup AI Model Manager with required AI.
model = ai.modelManager(AI_NAME= AI_NAME, modelName = MODEL_SAVE_NAME, x_train = train_data, OUTPUT_CLASSES = OUTPUT_CLASSES, RETRAIN_MODEL= RETRAIN_MODEL)
# Start Training
result = ai.train(model, train_data, train_labels, BATCH_SIZE, EPOCHS, LEARNING_RATE, validation_data=(test_data, test_labels), callbacks=['tensorboard'])
# Evaluate Trained Model on Test Data
model.evaluate(test_data, test_labels)
# Plot Accuracy vs Loss for Training
ai.plot_training_metrics(result)
#Save the Trained Model
ai.save_model_and_weights(model, outputName= MODEL_SAVE_NAME)
Automated Tests¶
To Check the tests
pytest
To See Output of Print Statements
pytest -s