import torch from load import load_model import gradio as gr class Neuro_net(torch.nn.Module): def __init__(self): super(Neuro_net, self).__init__() self.layer1 = torch.nn.Linear(40, 20) self.layer2 = torch.nn.Linear(20, 10) self.layer3 = torch.nn.Linear(10, 5) self.layer4 = torch.nn.Linear(5, 2) self.layer5 = torch.nn.Softmax(dim=0) def forward(self, input): tensor = torch.relu(self.layer1(input)) tensor = torch.relu(self.layer2(tensor)) tensor = torch.relu(self.layer3(tensor)) tensor = self.layer4(tensor) tensor = self.layer5(tensor) return tensor def test(a): return "heigh" def load_beforeFL(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9, a10,a11,a12,a13,a14,a15,a16,a17,a18,a19, a20,a21,a22,a23,a24,a25,a26,a27,a28,a29, a30,a31,a32,a33,a34,a35,a36,a37,a38,a39): input = [] input.append(a0) input.append(a1) input.append(a2) input.append(a3) input.append(a4) input.append(a5) input.append(a6) input.append(a7) input.append(a8) input.append(a9) input.append(a10) input.append(a11) input.append(a12) input.append(a13) input.append(a14) input.append(a15) input.append(a16) input.append(a17) input.append(a18) input.append(a19) input.append(a20) input.append(a21) input.append(a22) input.append(a23) input.append(a24) input.append(a25) input.append(a26) input.append(a27) input.append(a28) input.append(a29) input.append(a30) input.append(a31) input.append(a32) input.append(a33) input.append(a34) input.append(a35) input.append(a36) input.append(a37) input.append(a38) input.append(a39) print(input) output = load_model("Yes",input) return output def load_beforeTIDM(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9, a10,a11,a12,a13,a14,a15,a16,a17,a18,a19, a20,a21,a22,a23,a24,a25,a26,a27,a28,a29, a30,a31,a32,a33,a34,a35,a36,a37,a38,a39): input = [] input.append(a0) input.append(a1) input.append(a2) input.append(a3) input.append(a4) input.append(a5) input.append(a6) input.append(a7) input.append(a8) input.append(a9) input.append(a10) input.append(a11) input.append(a12) input.append(a13) input.append(a14) input.append(a15) input.append(a16) input.append(a17) input.append(a18) input.append(a19) input.append(a20) input.append(a21) input.append(a22) input.append(a23) input.append(a24) input.append(a25) input.append(a26) input.append(a27) input.append(a28) input.append(a29) input.append(a30) input.append(a31) input.append(a32) input.append(a33) input.append(a34) input.append(a35) input.append(a36) input.append(a37) input.append(a38) input.append(a39) print(input) output = load_model("No",input) return output em = [ 1.0,1.0,78.0,7.0,37.3,110.0,21.0,130.0,81.0,3.0,0.0,2.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,2.0,0.0,2.0,1.0,1.0,2.0,2.0,1.0,0.0,0.0,0.0,2.0,2.0,1.0,2.0,1.0,1.0,1.0,2.0,1.0 ] with gr.Blocks(css="style.css") as demo: gr.Markdown("# Practice of Distributed Machine Learning in Clinical Modeling for Chronic Obstructive Pulmonary Disease Demo 🖍️") title = "Practice of Distributed Machine Learning in Clinical Modeling for Chronic Obstructive Pulmonary Disease Demo", description = "You can change the values of these indicators and then click the button CML or COPD in the prediction area_ AVG_ Where will you observe a prediction of the risk of worsing in AECOPD patients in the Determination risk of AECOPD text box for the corresponding prediction results of FL query? You can also download our trained model for retraining and other operations in the Files area🖍" # gr.TextArea(description) gr.Textbox(value=description,label="How to use this website🖊️🤗🤗🤗🖊️") with gr.Column(): with gr.Row(): input_0 = gr.Number(value=em[0],label="Smoking(Yes=1,No=0)") input_1 = gr.Number(value=em[1],label="Sex(Female=1, Male=0)") input_2 = gr.Number(value=em[2],label="Age") input_3 = gr.Number(value=em[3],label="Number of hospitalizations") input_4 = gr.Number(value=em[4],label="Temperature") with gr.Column(): with gr.Row(): input_5 = gr.Number(value=em[5],label="Pulse") input_6 = gr.Number(value=em[6],label="Respiratory rate") input_7 = gr.Number(value=em[7],label=" Systolic pressure") input_8 = gr.Number(value=em[8],label="Diastolic pressure") input_9 = gr.Number(value=em[9],label="pulmonary heart disease(yes=3,No=0)") with gr.Column(): with gr.Row(): input_10 = gr.Number(value=em[10],label="Bronchiectasia(yes=3,No=0)") input_11 = gr.Number(value=em[11],label="hypertension(yes=2,No=0)") input_12 = gr.Number(value=em[12],label="diabetes(yes=2,No=0)") input_13 = gr.Number(value=em[13],label="coronary heart disease(yes=2,No=0)") input_14 = gr.Number(value=em[14],label="chronic kidney disease(yes=1,No=0)") with gr.Column(): with gr.Row(): input_15 = gr.Number(value=em[15],label="malignancy(yes=1,No=0)") input_16 = gr.Number(value=em[16],label="Cerebrovascular disease(yes=1,No=0)") input_17 = gr.Number(value=em[17],label="viral hepatitis(yes=1,No=0)") input_18 = gr.Number(value=em[18],label="cirrhosis(yes=1,No=0)") input_19 = gr.Number(value=em[19],label="wbc(0-2=0,2-4=1,>4=2)") with gr.Column(): with gr.Row(): input_20 = gr.Number(value=em[20],label="C-reactive protein((RC[-1]),(RC[-1]>0.068,RC[-1]<8.2)1,2)))") input_21 = gr.Number(value=em[21],label="high sensitivity c reactive protein(0-3=1)") input_22 = gr.Number(value=em[22],label="erythrocyte sedimentation rate(0-20=1)") input_23 = gr.Number(value=em[23],label="Absolute value of lymphocytes") input_24 = gr.Number(value=em[24],label="anc") with gr.Column(): with gr.Row(): input_25 = gr.Number(value=em[25],label="Absolute value of eosinophils") input_26 = gr.Number(value=em[26],label="Absolute value of monocytes") input_27 = gr.Number(value=em[27],label="Serum procalcitonin detection") input_28 = gr.Number(value=em[28],label="Oxygen Saturation") input_29 = gr.Number(value=em[29],label="partial pressure of carbon dioxide") with gr.Column(): with gr.Row(): input_30 = gr.Number(value=em[30],label="Pao2/fio2 greater than 300") input_31 = gr.Number(value=em[31],label="albumin") input_32 = gr.Number(value=em[32],label="globulin") input_33 = gr.Number(value=em[33],label="Low density lipoprotein cholesterol") input_34 = gr.Number(value=em[34],label="High-density lipoprotein cholesterol") with gr.Column(): with gr.Row(): input_35 = gr.Number(value=em[35],label="total cholesterol") input_36 = gr.Number(value=em[36],label="triglyceride") input_37 = gr.Number(value=em[37],label="urea nitrogen") input_38 = gr.Number(value=em[38],label="uric acid") input_39 = gr.Number(value=em[39],label="creatinine") # with gr.Column(): gr.Markdown("## Prediction") # gr.Textbox(value="[0.0,0.0,87.0,5.0,36.9,81.0,33.0,138.0,62.0,0.0,0.0,2.0,2.0,2.0,0.0,0.0,0.0,0.0,0.0,2.0,1.0,0.0,0.0,1.0,2.0,2.0,2.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,2.0,2.0,1.0]", label="For eample:") btn = gr.Button(value="CML (Click here to predict)",elem_classes="slide") TIDM = gr.Textbox(label="Deterioration risk of AECOPD") btn.click(fn=load_beforeTIDM,inputs=[input_0,input_1,input_2,input_3,input_4,input_5,input_6,input_7,input_8,input_9, input_10,input_11,input_12,input_13,input_14,input_15,input_16,input_17,input_18,input_19, input_20,input_21,input_22,input_23,input_24,input_25,input_26,input_27,input_28,input_29, input_30,input_31,input_32,input_33,input_34,input_35,input_36,input_37,input_38,input_39],outputs=TIDM) btn_FL = gr.Button(value="FL(Click here to predict)",elem_classes="slide") FL = gr.Textbox(label="Deterioration risk of AECOPD") btn_FL.click(fn=load_beforeFL, inputs=[input_0, input_1, input_2, input_3, input_4, input_5, input_6, input_7, input_8, input_9, input_10, input_11, input_12, input_13, input_14, input_15, input_16, input_17, input_18, input_19, input_20, input_21, input_22, input_23, input_24, input_25, input_26, input_27, input_28, input_29, input_30, input_31, input_32, input_33, input_34, input_35, input_36, input_37, input_38, input_39], outputs=FL) gr.Markdown("## Examples") gr.Examples( examples=[ [ 1.0,1.0,78.0,7.0,37.3,110.0,21.0,130.0,81.0,3.0,0.0,2.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,2.0,0.0,2.0,1.0,1.0,2.0,2.0,1.0,0.0,0.0,0.0,2.0,2.0,1.0,2.0,1.0,1.0,1.0,2.0,1.0 ] ], inputs=[input_0, input_1, input_2, input_3, input_4, input_5, input_6, input_7, input_8, input_9, input_10, input_11, input_12, input_13, input_14, input_15, input_16, input_17, input_18, input_19, input_20, input_21, input_22, input_23, input_24, input_25, input_26, input_27, input_28, input_29, input_30, input_31, input_32, input_33, input_34, input_35, input_36, input_37, input_38, input_39], outputs=TIDM, fn=load_beforeTIDM, cache_examples=False) # gr.Markdown("## FL Examples") # # gr.Examples( # examples=[[0.0,1.0,88.0,2.0,36.5,112.0,22.0,101.0,74.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.0,1.0,0.0,1.0,2.0,2.0,1.0,2.0,1.0,2.0,1.0,2.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0]], # inputs=[input_0, input_1, input_2, input_3, input_4, input_5, input_6, input_7, input_8, input_9, # input_10, input_11, input_12, input_13, input_14, input_15, input_16, input_17, input_18, # input_19, # input_20, input_21, input_22, input_23, input_24, input_25, input_26, input_27, input_28, # input_29, # input_30, input_31, input_32, input_33, input_34, input_35, input_36, input_37, input_38, # input_39], outputs=FL, # fn=load_beforeFL, # cache_examples=True) demo.launch()