import gradio as gr import pandas as pd import pickle def load_model(model_name): filename=model_name loaded_model = pickle.load(open(filename, 'rb')) return loaded_model rf_clf=load_model('Random_forest_perm_clf.sav') from zipfile import ZipFile import csv import gradio as gr def Perm_pred(file_obj): dataframe=pd.read_csv(file_obj.name, delimiter=',') new_df=dataframe[['pdp_avg','RETURN_RATE','conversion','Cat_1','Cat_2','Cat_3']] sku=dataframe['SKU'] pred_score = rf_clf.predict(new_df) #pred=pd.DataFrame(pred_score,columns=['Prediction']) pred_list=pred_score.tolist() y=[] for i in range(len(pred_list)): if pred_score[i]==2: y.append('Never_Perm') elif pred_score[i]==1: y.append('Middle_Perm') else: y.append('Perm_A') pred=pd.DataFrame(y,columns=['Prediction']) pred['SKU']=sku df=pred[['SKU','Prediction']] #with open('Prediction.csv','w', encoding='UTF8') as f: # writer=csv.writer(f) # for i in range(len(y)): # writer.writerow(y[i]) #return 'Prerdiction.csv' return df demo = gr.Interface(Perm_pred, inputs=[gr.inputs.File(label='Enter CSV File')], outputs= [gr.outputs.Dataframe(label='Predicted Label')]) if __name__ == "__main__": demo.launch(share=True)