Sangjun2 commited on
Commit
f79169e
·
verified ·
1 Parent(s): e44f8f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -45
app.py CHANGED
@@ -500,18 +500,15 @@ def table_datapoints_precision_recall_per_point( # 각각 계산...
500
  number_theta = 0.1,
501
  ):
502
  """Computes precisin recall and F1 metrics given two flattened tables.
503
-
504
  Parses each string into a dictionary of keys and values using row and column
505
  headers. Then we match keys between the two dicts as long as their relative
506
  levenshtein distance is below a threshold. Values are also compared with
507
  ANLS if strings or relative distance if they are numeric.
508
-
509
  Args:
510
  targets: list of list of strings.
511
  predictions: list of strings.
512
  text_theta: relative edit distance above this is set to the maximum of 1.
513
  number_theta: relative error rate above this is set to the maximum of 1.
514
-
515
  Returns:
516
  Dictionary with per-point precision, recall and F1
517
  """
@@ -538,16 +535,13 @@ def table_datapoints_precision_recall( # deplot 성능지표
538
  number_theta = 0.1,
539
  ):
540
  """Aggregated version of table_datapoints_precision_recall_per_point().
541
-
542
  Same as table_datapoints_precision_recall_per_point() but returning aggregated
543
  scores instead of per-point scores.
544
-
545
  Args:
546
  targets: list of list of strings.
547
  predictions: list of strings.
548
  text_theta: relative edit distance above this is set to the maximum of 1.
549
  number_theta: relative error rate above this is set to the maximum of 1.
550
-
551
  Returns:
552
  Dictionary with aggregated precision, recall and F1
553
  """
@@ -751,36 +745,29 @@ def non_real_time_check(file):
751
  round(aihub_deplot_RMS['table_datapoints_f1'],1)
752
  ]
753
  })
754
-
755
- try:
756
- ko_deplot_generated_df=ko_deplot_convert_to_dataframe2(ko_deplot_generated_table)
757
- unichart_generated_df=unichart_convert_to_dataframe(unichart_generated_table)
758
- except Exception as e:
759
- return None,None,None,None,None,None,None,None,None,ko_deplot_generated_table,unichart_generated_table,1
760
-
761
- #ko_deplot_generated_df=ko_deplot_convert_to_dataframe(ko_deplot_generated_table)
762
- #aihub_deplot_generated_df=aihub_deplot_convert_to_dataframe(aihub_deplot_generated_table)
763
- #unichart_generated_df=unichart_convert_to_dataframe(unichart_generated_table)
764
-
765
  ko_deplot_labeling_df=ko_deplot_convert_to_dataframe2(ko_deplot_labeling_str)
766
- #aihub_deplot_labeling_df=aihub_deplot_convert_to_dataframe(aihub_deplot_label_table)
767
  unichart_labeling_df=unichart_convert_to_dataframe(unichart_labeling_str)
768
 
769
  ko_deplot_generated_df_row=ko_deplot_generated_df.shape[0]
770
- #aihub_deplot_generated_df_row=aihub_deplot_generated_df.shape[0]
771
  unichart_generated_df_row=unichart_generated_df.shape[0]
772
 
773
 
774
  styled_ko_deplot_table=ko_deplot_generated_df.style.applymap(highlighter1.compare_and_highlight,target_table=ko_deplot_labeling_df,pred_table_row=ko_deplot_generated_df_row,props='color:red')
775
 
776
 
777
- #styled_aihub_deplot_table=aihub_deplot_generated_df.style.applymap(highlighter2.compare_and_highlight,target_table=aihub_deplot_labeling_df,pred_table_row=aihub_deplot_generated_df_row,props='color:red')
778
 
779
 
780
  styled_unichart_table=unichart_generated_df.style.applymap(highlighter3.compare_and_highlight,target_table=unichart_labeling_df,pred_table_row=unichart_generated_df_row,props='color:red')
781
 
782
  #return ko_deplot_convert_to_dataframe(ko_deplot_generated_table), aihub_deplot_convert_to_dataframe(aihub_deplot_generated_table), aihub_deplot_convert_to_dataframe(label_table), ko_deplot_score_table, aihub_deplot_score_table
783
- return gr.DataFrame(styled_ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)"),None,gr.DataFrame(styled_unichart_table,label="제목:"+unichart_generated_title+"(VAIV_UniChart 추론 결과)"),gr.DataFrame(ko_deplot_labeling_df,label=ko_deplot_label_title+"(VAIV_DePlot 정답 테이블)"),None,gr.DataFrame(unichart_labeling_df,label="제목:"+unichart_label_title+"(VAIV_UniChart 정답 테이블)"),ko_deplot_score_table,None,unichart_score_table,None,None,0
784
 
785
 
786
  def ko_deplot_display_results(index):
@@ -839,17 +826,11 @@ def real_time_check(image_file):
839
  del parts[-1]
840
  result_model1="\n".join(parts)
841
  ko_deplot_generated_title=result_model1.split("\n")[0].split(" | ")[1]
842
- #ko_deplot_table=ko_deplot_convert_to_dataframe2(result_model1)
843
 
844
  result_model3=predict_model3(image)
845
- #unichart_table=unichart_convert_to_dataframe(result_model3)
846
  unichart_generated_title=result_model3.split(" & ")[0].split(" | ")[1]
847
-
848
- try:
849
- ko_deplot_table=ko_deplot_convert_to_dataframe2(result_model1)
850
- unichart_table=unichart_convert_to_dataframe(result_model3)
851
- except Exception as e:
852
- return None,None,None,None,None,None,None,None,None,result_model1,result_model3,1
853
 
854
  #aihub_labeling_data_json="./labeling_data/"+file_name+".json"
855
  if os.path.basename(image_file.name).startswith("C_Source"):
@@ -901,22 +882,16 @@ def real_time_check(image_file):
901
  unichart_generated_df_row=unichart_table.shape[0]
902
  styled_ko_deplot_table=ko_deplot_table.style.applymap(highlighter1.compare_and_highlight,target_table=ko_deplot_label_table,pred_table_row=ko_deplot_generated_df_row,props='color:red')
903
  styled_unichart_table=unichart_table.style.applymap(highlighter3.compare_and_highlight,target_table=unichart_label_table,pred_table_row=unichart_generated_df_row,props='color:red')
904
- return gr.DataFrame(styled_ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)") ,None,gr.DataFrame(styled_unichart_table,label=unichart_generated_title+"(VAIV_UniChart 추론 결과)"),gr.DataFrame(ko_deplot_label_table,label=ko_deplot_label_title+"(VAIV_DePlot 정답 테이블)"),None,gr.DataFrame(unichart_label_table,label=unichart_label_title+"(VAIV_UniChart 정답 테이블)"),ko_deplot_score_table,None,unichart_score_table,None,None,0
905
  else:
906
- return gr.DataFrame(ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)"),None,gr.DataFrame(unichart_table,label=unichart_generated_title+"(VAIV_UniChart 추론 결과)"),None,None,None,None,None,None,None,None,0
907
  def inference(mode,image_uploader,file_uploader):
908
  if(mode=="이미지 업로드"):
909
- ko_deplot_table, aihub_deplot_table, unichart_table, ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table,ko_deplot_generated_txt,unichart_generated_txt,flag= real_time_check(image_uploader)
910
- if flag==1:
911
- return ko_deplot_table, aihub_deplot_table, unichart_table,ko_deplot_label_table, aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table,gr.Text(ko_deplot_generated_txt,visible=True),gr.Text(unichart_generated_txt,visible=True)
912
- else:
913
- return ko_deplot_table, aihub_deplot_table, unichart_table,ko_deplot_label_table, aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table,gr.update(visible=False),gr.update(visible=False)
914
  else:
915
- styled_ko_deplot_table,styled_aihub_deplot_table,styled_unichart_table,ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table,aihub_deplot_score_table, unichart_score_table,ko_deplot_generated_txt,unichart_generated_txt,flag=non_real_time_check(file_uploader)
916
- if flag==1:
917
- return styled_ko_deplot_table, styled_aihub_deplot_table, styled_unichart_table,ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table, unichart_score_table,gr.Text(ko_deplot_generated_txt,visible=True),gr.Text(unichart_generated_txt,visible=True)
918
- else:
919
- return styled_ko_deplot_table, styled_aihub_deplot_table, styled_unichart_table,ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table, unichart_score_table,gr.update(visible=False),gr.update(visible=False)
920
  def interface_selector(selector):
921
  if selector == "이미지 업로드":
922
  return gr.update(visible=True),gr.update(visible=False),gr.State("image_upload"),gr.update(visible=False),gr.update(visible=False),gr.File("./new_top_20_percent_images.txt"),"high score 차트"
@@ -1059,8 +1034,6 @@ with gr.Blocks(css=css) as iface:
1059
  ko_deplot_generated_table=gr.DataFrame(visible=True,label="VAIV_DePlot 추론 결과",elem_classes="dataframe-class")
1060
  aihub_deplot_generated_table=gr.DataFrame(visible=False,label="aihub-deplot 추론 결과",elem_classes="dataframe-class")
1061
  unichart_generated_table=gr.DataFrame(visible=False,label="VAIV_UniChart 추론 결과",elem_classes="dataframe-class")
1062
- ko_deplot_generated_txt=gr.Text(visible=False,label="VAIV_DePlot 추론 결과")
1063
- unichart_generated_txt=gr.Text(visible=False,label="VAIV_UniChart 추론 결과")
1064
  with gr.Column():
1065
  ko_deplot_label_table=gr.DataFrame(visible=True,label="VAIV_DePlot 정답테이블",elem_classes="dataframe-class")
1066
  aihub_deplot_label_table=gr.DataFrame(visible=False,label="aihub-deplot 정답테이블",elem_classes="dataframe-class")
@@ -1092,7 +1065,7 @@ with gr.Blocks(css=css) as iface:
1092
  file_uploader.change(display_image_in_file,inputs=[file_uploader],outputs=[image_displayer,image_name])
1093
  pre_button.click(previous_image, outputs=[image_displayer,image_name,pre_button,next_button])
1094
  next_button.click(next_image, outputs=[image_displayer,image_name,pre_button,next_button])
1095
- inference_button.click(inference,inputs=[upload_option,image_uploader,file_uploader],outputs=[ko_deplot_generated_table, aihub_deplot_generated_table, unichart_generated_table, ko_deplot_label_table, aihub_deplot_label_table, unichart_label_table, ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table,ko_deplot_generated_txt,unichart_generated_txt])
1096
 
1097
  if __name__ == "__main__":
1098
  print("Launching Gradio interface...")
@@ -1104,4 +1077,4 @@ if __name__ == "__main__":
1104
  # Gradio가 제공하는 URLs을 파일에 기록합니다.
1105
  with open("gradio_url.log", "w") as f:
1106
  print(iface.local_url, file=f)
1107
- print(iface.share_url, file=f)
 
500
  number_theta = 0.1,
501
  ):
502
  """Computes precisin recall and F1 metrics given two flattened tables.
 
503
  Parses each string into a dictionary of keys and values using row and column
504
  headers. Then we match keys between the two dicts as long as their relative
505
  levenshtein distance is below a threshold. Values are also compared with
506
  ANLS if strings or relative distance if they are numeric.
 
507
  Args:
508
  targets: list of list of strings.
509
  predictions: list of strings.
510
  text_theta: relative edit distance above this is set to the maximum of 1.
511
  number_theta: relative error rate above this is set to the maximum of 1.
 
512
  Returns:
513
  Dictionary with per-point precision, recall and F1
514
  """
 
535
  number_theta = 0.1,
536
  ):
537
  """Aggregated version of table_datapoints_precision_recall_per_point().
 
538
  Same as table_datapoints_precision_recall_per_point() but returning aggregated
539
  scores instead of per-point scores.
 
540
  Args:
541
  targets: list of list of strings.
542
  predictions: list of strings.
543
  text_theta: relative edit distance above this is set to the maximum of 1.
544
  number_theta: relative error rate above this is set to the maximum of 1.
 
545
  Returns:
546
  Dictionary with aggregated precision, recall and F1
547
  """
 
745
  round(aihub_deplot_RMS['table_datapoints_f1'],1)
746
  ]
747
  })
748
+
749
+ ko_deplot_generated_df=ko_deplot_convert_to_dataframe(ko_deplot_generated_table)
750
+ aihub_deplot_generated_df=aihub_deplot_convert_to_dataframe(aihub_deplot_generated_table)
751
+ unichart_generated_df=unichart_convert_to_dataframe(unichart_generated_table)
 
 
 
 
 
 
 
752
  ko_deplot_labeling_df=ko_deplot_convert_to_dataframe2(ko_deplot_labeling_str)
753
+ aihub_deplot_labeling_df=aihub_deplot_convert_to_dataframe(aihub_deplot_label_table)
754
  unichart_labeling_df=unichart_convert_to_dataframe(unichart_labeling_str)
755
 
756
  ko_deplot_generated_df_row=ko_deplot_generated_df.shape[0]
757
+ aihub_deplot_generated_df_row=aihub_deplot_generated_df.shape[0]
758
  unichart_generated_df_row=unichart_generated_df.shape[0]
759
 
760
 
761
  styled_ko_deplot_table=ko_deplot_generated_df.style.applymap(highlighter1.compare_and_highlight,target_table=ko_deplot_labeling_df,pred_table_row=ko_deplot_generated_df_row,props='color:red')
762
 
763
 
764
+ styled_aihub_deplot_table=aihub_deplot_generated_df.style.applymap(highlighter2.compare_and_highlight,target_table=aihub_deplot_labeling_df,pred_table_row=aihub_deplot_generated_df_row,props='color:red')
765
 
766
 
767
  styled_unichart_table=unichart_generated_df.style.applymap(highlighter3.compare_and_highlight,target_table=unichart_labeling_df,pred_table_row=unichart_generated_df_row,props='color:red')
768
 
769
  #return ko_deplot_convert_to_dataframe(ko_deplot_generated_table), aihub_deplot_convert_to_dataframe(aihub_deplot_generated_table), aihub_deplot_convert_to_dataframe(label_table), ko_deplot_score_table, aihub_deplot_score_table
770
+ return gr.DataFrame(styled_ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)"),gr.DataFrame(styled_aihub_deplot_table,label=aihub_deplot_generated_title+"(aihub deplot 추론 결과)"),gr.DataFrame(styled_unichart_table,label="제목:"+unichart_generated_title+"(VAIV_UniChart 추론 결과)"),gr.DataFrame(ko_deplot_labeling_df,label=ko_deplot_label_title+"(VAIV_DePlot 정답 테이블)"), gr.DataFrame(aihub_deplot_labeling_df,label=aihub_deplot_label_title+"(aihub deplot 정답 테이블)"),gr.DataFrame(unichart_labeling_df,label="제목:"+unichart_label_title+"(VAIV_UniChart 정답 테이블)"),ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table
771
 
772
 
773
  def ko_deplot_display_results(index):
 
826
  del parts[-1]
827
  result_model1="\n".join(parts)
828
  ko_deplot_generated_title=result_model1.split("\n")[0].split(" | ")[1]
829
+ ko_deplot_table=ko_deplot_convert_to_dataframe2(result_model1)
830
 
831
  result_model3=predict_model3(image)
832
+ unichart_table=unichart_convert_to_dataframe(result_model3)
833
  unichart_generated_title=result_model3.split(" & ")[0].split(" | ")[1]
 
 
 
 
 
 
834
 
835
  #aihub_labeling_data_json="./labeling_data/"+file_name+".json"
836
  if os.path.basename(image_file.name).startswith("C_Source"):
 
882
  unichart_generated_df_row=unichart_table.shape[0]
883
  styled_ko_deplot_table=ko_deplot_table.style.applymap(highlighter1.compare_and_highlight,target_table=ko_deplot_label_table,pred_table_row=ko_deplot_generated_df_row,props='color:red')
884
  styled_unichart_table=unichart_table.style.applymap(highlighter3.compare_and_highlight,target_table=unichart_label_table,pred_table_row=unichart_generated_df_row,props='color:red')
885
+ return gr.DataFrame(styled_ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)") ,None,gr.DataFrame(styled_unichart_table,label=unichart_generated_title+"(VAIV_UniChart 추론 결과)"),gr.DataFrame(ko_deplot_label_table,label=ko_deplot_label_title+"(VAIV_DePlot 정답 테이블)"),None,gr.DataFrame(unichart_label_table,label=unichart_label_title+"(VAIV_UniChart 정답 테이블)"),ko_deplot_score_table,None,unichart_score_table
886
  else:
887
+ return gr.DataFrame(ko_deplot_table,label=ko_deplot_generated_title+"(VAIV_DePlot 추론 결과)"),None,gr.DataFrame(unichart_table,label=unichart_generated_title+"(VAIV_UniChart 추론 결과)"),None,None,None,None,None,None
888
  def inference(mode,image_uploader,file_uploader):
889
  if(mode=="이미지 업로드"):
890
+ ko_deplot_table, aihub_deplot_table, unichart_table, ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table= real_time_check(image_uploader)
891
+ return ko_deplot_table, aihub_deplot_table, unichart_table,ko_deplot_label_table, aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table
 
 
 
892
  else:
893
+ styled_ko_deplot_table,styled_aihub_deplot_table,styled_unichart_table,ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table,aihub_deplot_score_table, unichart_score_table=non_real_time_check(file_uploader)
894
+ return styled_ko_deplot_table, styled_aihub_deplot_table, styled_unichart_table,ko_deplot_label_table,aihub_deplot_label_table,unichart_label_table,ko_deplot_score_table, aihub_deplot_score_table, unichart_score_table
 
 
 
895
  def interface_selector(selector):
896
  if selector == "이미지 업로드":
897
  return gr.update(visible=True),gr.update(visible=False),gr.State("image_upload"),gr.update(visible=False),gr.update(visible=False),gr.File("./new_top_20_percent_images.txt"),"high score 차트"
 
1034
  ko_deplot_generated_table=gr.DataFrame(visible=True,label="VAIV_DePlot 추론 결과",elem_classes="dataframe-class")
1035
  aihub_deplot_generated_table=gr.DataFrame(visible=False,label="aihub-deplot 추론 결과",elem_classes="dataframe-class")
1036
  unichart_generated_table=gr.DataFrame(visible=False,label="VAIV_UniChart 추론 결과",elem_classes="dataframe-class")
 
 
1037
  with gr.Column():
1038
  ko_deplot_label_table=gr.DataFrame(visible=True,label="VAIV_DePlot 정답테이블",elem_classes="dataframe-class")
1039
  aihub_deplot_label_table=gr.DataFrame(visible=False,label="aihub-deplot 정답테이블",elem_classes="dataframe-class")
 
1065
  file_uploader.change(display_image_in_file,inputs=[file_uploader],outputs=[image_displayer,image_name])
1066
  pre_button.click(previous_image, outputs=[image_displayer,image_name,pre_button,next_button])
1067
  next_button.click(next_image, outputs=[image_displayer,image_name,pre_button,next_button])
1068
+ inference_button.click(inference,inputs=[upload_option,image_uploader,file_uploader],outputs=[ko_deplot_generated_table, aihub_deplot_generated_table, unichart_generated_table, ko_deplot_label_table, aihub_deplot_label_table, unichart_label_table, ko_deplot_score_table, aihub_deplot_score_table,unichart_score_table])
1069
 
1070
  if __name__ == "__main__":
1071
  print("Launching Gradio interface...")
 
1077
  # Gradio가 제공하는 URLs을 파일에 기록합니다.
1078
  with open("gradio_url.log", "w") as f:
1079
  print(iface.local_url, file=f)
1080
+ print(iface.share_url, file=f)