Spaces:
Runtime error
Runtime error
Upload folder using huggingface_hub
Browse files- README.md +12 -5
- app.py +8 -12
- requirements.txt +4 -1
README.md
CHANGED
@@ -1,15 +1,22 @@
|
|
1 |
---
|
2 |
-
title: pashto-base-bloom
|
3 |
emoji: π
|
4 |
colorFrom: blue
|
5 |
colorTo: purple
|
6 |
sdk: gradio
|
7 |
-
sdk_version:
|
8 |
app_file: app.py
|
9 |
-
pinned:
|
10 |
license: apache-2.0
|
|
|
11 |
---
|
12 |
|
13 |
-
# pashto-base-bloom
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
title: pashto-base-bloom Space
|
3 |
emoji: π
|
4 |
colorFrom: blue
|
5 |
colorTo: purple
|
6 |
sdk: gradio
|
7 |
+
sdk_version: 4.36.1
|
8 |
app_file: app.py
|
9 |
+
pinned: false
|
10 |
license: apache-2.0
|
11 |
+
hardware: zero-gpu-a10g
|
12 |
---
|
13 |
|
14 |
+
# pashto-base-bloom Space
|
15 |
|
16 |
+
This is a Space for the pashto-base-bloom model. You can:
|
17 |
+
|
18 |
+
1. Test the model
|
19 |
+
2. Train the model
|
20 |
+
3. Fine-tune the model
|
21 |
+
|
22 |
+
Uses ZeroGPU for efficient GPU acceleration.
|
app.py
CHANGED
@@ -39,8 +39,11 @@ class TrainingState:
|
|
39 |
self.logs.pop(0)
|
40 |
|
41 |
def complete_process(self):
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
44 |
self.status = "idle"
|
45 |
self.progress = 100
|
46 |
|
@@ -143,7 +146,7 @@ def get_current_status():
|
|
143 |
|
144 |
return {
|
145 |
status_box: status_text,
|
146 |
-
progress_bar: state.progress
|
147 |
log_output: logs
|
148 |
}
|
149 |
|
@@ -184,21 +187,14 @@ with gr.Blocks(title="Pashto-Base-Bloom Trainer", theme="soft") as demo:
|
|
184 |
with gr.Row():
|
185 |
with gr.Column():
|
186 |
status_box = gr.Textbox(label="Current Status", interactive=False)
|
187 |
-
|
|
|
188 |
refresh_btn = gr.Button("Refresh Status", variant="secondary")
|
189 |
auto_refresh = gr.Checkbox(label="Auto-refresh every 5 seconds", value=True)
|
190 |
log_output = gr.Textbox(label="Process Logs", lines=8, interactive=False)
|
191 |
|
192 |
-
# Auto-refresh component
|
193 |
-
auto_refresh_component = gr.Interval(5, interactive=False)
|
194 |
-
|
195 |
# Refresh actions
|
196 |
refresh_btn.click(get_current_status, outputs=[status_box, progress_bar, log_output])
|
197 |
-
auto_refresh_component.change(
|
198 |
-
fn=lambda: get_current_status() if auto_refresh.value else None,
|
199 |
-
outputs=[status_box, progress_bar, log_output]
|
200 |
-
)
|
201 |
-
auto_refresh.change(lambda x: gr.update(interactive=x), inputs=auto_refresh, outputs=auto_refresh_component)
|
202 |
|
203 |
# Initial status load
|
204 |
demo.load(get_current_status, outputs=[status_box, progress_bar, log_output])
|
|
|
39 |
self.logs.pop(0)
|
40 |
|
41 |
def complete_process(self):
|
42 |
+
if self.start_time is not None:
|
43 |
+
elapsed = time.time() - self.start_time
|
44 |
+
self.add_log(f"{self.status.capitalize()} completed in {elapsed:.1f} seconds!")
|
45 |
+
else:
|
46 |
+
self.add_log(f"{self.status.capitalize()} completed!")
|
47 |
self.status = "idle"
|
48 |
self.progress = 100
|
49 |
|
|
|
146 |
|
147 |
return {
|
148 |
status_box: status_text,
|
149 |
+
progress_bar: state.progress,
|
150 |
log_output: logs
|
151 |
}
|
152 |
|
|
|
187 |
with gr.Row():
|
188 |
with gr.Column():
|
189 |
status_box = gr.Textbox(label="Current Status", interactive=False)
|
190 |
+
# Replace ProgressBar with Slider for progress indication
|
191 |
+
progress_bar = gr.Slider(label="Progress", minimum=0, maximum=100, value=0, interactive=False)
|
192 |
refresh_btn = gr.Button("Refresh Status", variant="secondary")
|
193 |
auto_refresh = gr.Checkbox(label="Auto-refresh every 5 seconds", value=True)
|
194 |
log_output = gr.Textbox(label="Process Logs", lines=8, interactive=False)
|
195 |
|
|
|
|
|
|
|
196 |
# Refresh actions
|
197 |
refresh_btn.click(get_current_status, outputs=[status_box, progress_bar, log_output])
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
# Initial status load
|
200 |
demo.load(get_current_status, outputs=[status_box, progress_bar, log_output])
|
requirements.txt
CHANGED
@@ -1 +1,4 @@
|
|
1 |
-
gradio
|
|
|
|
|
|
|
|
1 |
+
gradio>=4.0.0
|
2 |
+
spaces
|
3 |
+
torch
|
4 |
+
transformers>=4.30.0
|