Spaces:
Sleeping
Sleeping
Commit
·
a0c2787
1
Parent(s):
7023951
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,13 +21,22 @@ loaded_tokenizer = None
|
|
| 21 |
loaded_config = None
|
| 22 |
generation_history = []
|
| 23 |
|
| 24 |
-
|
| 25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
global loaded_model, loaded_tokenizer, loaded_config
|
| 27 |
|
| 28 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
# Load pickle file
|
| 30 |
-
with open(
|
| 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
|
| 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("###
|
| 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
|
| 318 |
lines=15,
|
| 319 |
interactive=False,
|
| 320 |
-
|
| 321 |
)
|
| 322 |
|
| 323 |
gr.Markdown("---")
|
| 324 |
|
| 325 |
with gr.Row():
|
| 326 |
with gr.Column(scale=1):
|
| 327 |
-
gr.Markdown("### ✍️
|
| 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],
|