import cv2 import torch import gradio as gr import skimage from model import FullModel from albumentations.pytorch import ToTensorV2 from albumentations import * PATH = r"C:\Users\huumi\Desktop\Subjects\HK8\DOAN_THUCTAP\BreastCancer\July_convnext_labelsmoothing=0.1-benign-0-224_labelsmoothing_300rsna_b16.pt" transform = Compose([Resize(height=224,width=224,always_apply=True), ToTensorV2(), ]) def load_model(PATH): model = FullModel() PATH = PATH model.load_state_dict(torch.load(PATH)) return model model = load_model(PATH) def read_img(img): # print(path_img.shape) # img = cv2.imread(path_img, 1) img_trans = transform(image=img)['image'] img_trans = img_trans.unsqueeze(0).float() return img_trans # print(img_trans.unsqueeze(0).shape) # print(model(img_trans.unsqueeze(0).float())) def predict(img): result = "Malignant" images = read_img(img) print(images.shape) # images = images.reshape((-1, 3, 224, 224)) # images = torch.from_numpy(images)#.permute(0, 2, 3, 1) outputs= model(images) print(outputs) _, predicted = torch.max(outputs, 1) if(predicted.item() == 0): result = "Normal/Benign" return result title = "Breast cancer detection with Deep Learning (ConvNext)" description = "
As a radiologist or oncologist, it is crucial to know what is wrong with a breast x-ray image.
Upload the breast X-ray image to know what is wrong with a patients breast with or without inplant
" article="
Web app is built and managed by IUH team>
" examples = [r'C:\Users\huumi\Desktop\Subjects\HK8\DOAN_THUCTAP\BreastCancer\D1-0001_1-1.png', r'C:\Users\huumi\Desktop\Subjects\HK8\DOAN_THUCTAP\BreastCancer\D1-0005_1-2.png', r'C:\Users\huumi\Desktop\Subjects\HK8\DOAN_THUCTAP\BreastCancer\mdb028.png'] enable_queue=True #interpretation='default' gr.Interface(fn=predict, inputs=gr.Image(label="Image (png file)"), outputs='text', title=title, description=description, article=article, examples=examples, enable_queue=enable_queue ).launch(share=True)