hamxaameer commited on
Commit
a0c2787
·
1 Parent(s): 7023951

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -20
app.py CHANGED
@@ -21,13 +21,22 @@ loaded_tokenizer = None
21
  loaded_config = None
22
  generation_history = []
23
 
24
- def load_model_from_pickle(pickle_file):
25
- """Load model from uploaded pickle file"""
 
 
 
 
 
26
  global loaded_model, loaded_tokenizer, loaded_config
27
 
28
  try:
 
 
 
 
29
  # Load pickle file
30
- with open(pickle_file.name, 'rb') as f:
31
  model_package = pickle.load(f)
32
 
33
  loaded_model = model_package['model']
@@ -61,7 +70,7 @@ def load_model_from_pickle(pickle_file):
61
  return config_info
62
 
63
  except Exception as e:
64
- return f"❌ Error loading model: {str(e)}\n\nPlease ensure you uploaded the correct best_model.pkl file."
65
 
66
  def calculate_bleu_score(reference, hypothesis):
67
  """Calculate BLEU score between reference and generated code"""
@@ -306,25 +315,19 @@ with gr.Blocks(title="🚀 GPT-2 Pseudo-Code to Code Generator", theme=gr.themes
306
  with gr.Tab("💻 Code Generation"):
307
  with gr.Row():
308
  with gr.Column(scale=1):
309
- gr.Markdown("### 📥 Step 1: Load Model")
310
- model_file = gr.File(
311
- label="Upload best_model.pkl",
312
- file_types=[".pkl"],
313
- type="filepath"
314
- )
315
- load_btn = gr.Button("🔄 Load Model", variant="primary", size="lg")
316
  model_status = gr.Textbox(
317
- label="Model Status",
318
  lines=15,
319
  interactive=False,
320
- placeholder="Upload model file and click 'Load Model'..."
321
  )
322
 
323
  gr.Markdown("---")
324
 
325
  with gr.Row():
326
  with gr.Column(scale=1):
327
- gr.Markdown("### ✍️ Step 2: Enter Pseudo-Code")
328
 
329
  # Example selector
330
  with gr.Row():
@@ -583,12 +586,6 @@ with gr.Blocks(title="🚀 GPT-2 Pseudo-Code to Code Generator", theme=gr.themes
583
  """)
584
 
585
  # Event handlers
586
- load_btn.click(
587
- fn=load_model_from_pickle,
588
- inputs=[model_file],
589
- outputs=[model_status]
590
- )
591
-
592
  example_dropdown.change(
593
  fn=show_examples,
594
  inputs=[example_dropdown],
 
21
  loaded_config = None
22
  generation_history = []
23
 
24
+ # Auto-load model on startup
25
+ def initialize_model():
26
+ """Initialize model automatically on app startup"""
27
+ return load_model_from_pickle("best_model.pkl")
28
+
29
+ def load_model_from_pickle(pickle_path="best_model.pkl"):
30
+ """Load model from pickle file (auto-loads on startup)"""
31
  global loaded_model, loaded_tokenizer, loaded_config
32
 
33
  try:
34
+ # Check if file exists
35
+ if not os.path.exists(pickle_path):
36
+ return f"❌ Model file not found: {pickle_path}\n\nPlease ensure best_model.pkl is uploaded to the HuggingFace Space."
37
+
38
  # Load pickle file
39
+ with open(pickle_path, 'rb') as f:
40
  model_package = pickle.load(f)
41
 
42
  loaded_model = model_package['model']
 
70
  return config_info
71
 
72
  except Exception as e:
73
+ return f"❌ Error loading model: {str(e)}\n\nPlease ensure best_model.pkl is properly uploaded to the Space."
74
 
75
  def calculate_bleu_score(reference, hypothesis):
76
  """Calculate BLEU score between reference and generated code"""
 
315
  with gr.Tab("💻 Code Generation"):
316
  with gr.Row():
317
  with gr.Column(scale=1):
318
+ gr.Markdown("### Model Status")
 
 
 
 
 
 
319
  model_status = gr.Textbox(
320
+ label="Model Information",
321
  lines=15,
322
  interactive=False,
323
+ value=initialize_model() # Auto-load on startup
324
  )
325
 
326
  gr.Markdown("---")
327
 
328
  with gr.Row():
329
  with gr.Column(scale=1):
330
+ gr.Markdown("### ✍️ Enter Pseudo-Code")
331
 
332
  # Example selector
333
  with gr.Row():
 
586
  """)
587
 
588
  # Event handlers
 
 
 
 
 
 
589
  example_dropdown.change(
590
  fn=show_examples,
591
  inputs=[example_dropdown],