voxmenthe commited on
Commit
f96f910
·
1 Parent(s): 3357f2e

refresh text box in gradio

Browse files
Files changed (1) hide show
  1. app.py +11 -12
app.py CHANGED
@@ -77,7 +77,8 @@ def run_full_evaluation_gradio():
77
  return
78
 
79
  try:
80
- yield "Starting full evaluation... This will process 25,000 samples and may take 10-20 minutes. Please be patient."
 
81
 
82
  device = sentiment_inferer.device
83
  model = sentiment_inferer.model
@@ -87,7 +88,8 @@ def run_full_evaluation_gradio():
87
 
88
  yield "Loading IMDB test dataset (this might take a moment)..."
89
  imdb_test_full = load_dataset("imdb", split="test")
90
- yield f"IMDB test dataset loaded ({len(imdb_test_full)} samples). Tokenizing dataset..."
 
91
 
92
  def tokenize_function(examples):
93
  tokenized_output = tokenizer(examples["text"], truncation=True, padding="max_length", max_length=max_length)
@@ -100,11 +102,11 @@ def run_full_evaluation_gradio():
100
  tokenized_imdb_test_full.set_format("torch", columns=["input_ids", "attention_mask", "labels", "lengths"])
101
 
102
  test_dataloader_full = DataLoader(tokenized_imdb_test_full, batch_size=batch_size)
103
- yield "Dataset tokenized and DataLoader prepared. Starting model evaluation on the test set..."
 
104
 
105
  # The 'evaluate' function from evaluation.py is now a generator.
106
- # Iterate through its yielded updates and results.
107
- final_results_str = ""
108
  for update in evaluate(model, test_dataloader_full, device):
109
  if isinstance(update, dict):
110
  # This is the final results dictionary
@@ -115,16 +117,13 @@ def run_full_evaluation_gradio():
115
  else:
116
  results_str += f"{key.capitalize()}: {value}\n"
117
  results_str += "\nEvaluation finished."
118
- final_results_str = results_str # Store to yield last
119
- yield results_str # Optionally yield intermediate dict if needed, or just final string
120
  break # Stop after getting the results dict
121
  else:
122
  # This is a progress string
123
- yield str(update) + "\n" # Append newline to each progress string
124
-
125
- # Ensure the final formatted results string is yielded if not already (e.g., if loop broke early)
126
- # However, the logic above should yield it before breaking.
127
- # If evaluate could end without yielding a dict, this might be needed.
128
 
129
  except Exception as e:
130
  import traceback
 
77
  return
78
 
79
  try:
80
+ accumulated_text = "Starting full evaluation... This will process 25,000 samples and may take 10-20 minutes. Please be patient.\n"
81
+ yield accumulated_text
82
 
83
  device = sentiment_inferer.device
84
  model = sentiment_inferer.model
 
88
 
89
  yield "Loading IMDB test dataset (this might take a moment)..."
90
  imdb_test_full = load_dataset("imdb", split="test")
91
+ accumulated_text += f"IMDB test dataset loaded ({len(imdb_test_full)} samples). Tokenizing dataset...\n"
92
+ yield accumulated_text
93
 
94
  def tokenize_function(examples):
95
  tokenized_output = tokenizer(examples["text"], truncation=True, padding="max_length", max_length=max_length)
 
102
  tokenized_imdb_test_full.set_format("torch", columns=["input_ids", "attention_mask", "labels", "lengths"])
103
 
104
  test_dataloader_full = DataLoader(tokenized_imdb_test_full, batch_size=batch_size)
105
+ accumulated_text += "Dataset tokenized and DataLoader prepared. Starting model evaluation on the test set...\n"
106
+ yield accumulated_text
107
 
108
  # The 'evaluate' function from evaluation.py is now a generator.
109
+ # Iterate through its yielded updates and results, accumulating text.
 
110
  for update in evaluate(model, test_dataloader_full, device):
111
  if isinstance(update, dict):
112
  # This is the final results dictionary
 
117
  else:
118
  results_str += f"{key.capitalize()}: {value}\n"
119
  results_str += "\nEvaluation finished."
120
+ accumulated_text += results_str
121
+ yield accumulated_text
122
  break # Stop after getting the results dict
123
  else:
124
  # This is a progress string
125
+ accumulated_text += str(update) + "\n" # Append newline to each progress string
126
+ yield accumulated_text
 
 
 
127
 
128
  except Exception as e:
129
  import traceback