HChandeepa/PulmoSense_AI
0
1from keras.models import load_model2 3 4def do_primary_prediction(spectrogram):5 loaded_model = load_model('binary_model.h5')6 print("model loaded")7 result = loaded_model.predict(spectrogram, batch_size=1)8 print("result", result[0][0])9 if result[0][0] > 0.5:10 return False11 else:12 return True13 14 15def do_secondary_prediction(spectrogram):16 loaded_model = load_model('disease_catego_model.h5')17 print("secondary model loaded")18 result = loaded_model.predict(spectrogram)19 print("secondary result", result)20 # Sort the array in descending order21 sorted_numbers = sorted(result[0], reverse=True)22 # Get the top 3 values23 top3_values = sorted_numbers[:3]24 # Get the indexes of the top 3 values25 indexes_of_top3_values = sorted(range(len(result[0])), key=lambda i: result[0][i], reverse=True)[:3]26 print("sorted_numbers", top3_values)27 print("indexes of top 3 results", indexes_of_top3_values)28 disease_list = ['Asthma', 'Bronchiectasis', 'Bronchiolitis', "Bronchitis", 'COPD', 'Lung Fibrosis',29 'Pleural Effusion', 'Pneumonia', 'URTI']30 predicted_disease = {}31 diseases = []32 for i in range(3):33 print(i)34 disease = disease_list[indexes_of_top3_values[i]]35 diseases.insert(i, disease)36 # print("disease", disease)37 # predicted_disease[disease] = top3_values[i]38 print("diseases", diseases)39 predicted_disease['diseases'] = diseases40 predicted_disease['probabilities'] = top3_values41 print("predicted diseases",predicted_disease)42 return predicted_disease43 