File size: 1,869 Bytes
8741847 b429143 8741847 b429143 8741847 b429143 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import gradio as gr
def train_model(epochs, batch_size, learning_rate):
return f"Training completed!\nEpochs: {epochs}\nBatch Size: {batch_size}\nLearning Rate: {learning_rate}"
with gr.Blocks(title="DistilBERT Arabic Sentiment Training") as demo:
gr.Markdown("# DistilBERT Arabic Sentiment Training")
gr.Markdown("Fine-tune DistilBERT on Arabic sentiment analysis (Saudi dialect)")
gr.Markdown("### Model Information:")
gr.Markdown("- **Base Model**: distilbert-base-multilingual-cased (67M parameters)")
gr.Markdown("- **Task**: Text Classification (Multilingual)")
gr.Markdown("- **Dataset**: arbml/Arabic_Sentiment_Twitter_Corpus (58.8k examples)")
gr.Markdown("- **Language**: Arabic (Saudi & Gulf dialects)")
with gr.Row():
with gr.Column():
gr.Markdown("### Training Settings")
epochs = gr.Slider(minimum=1, maximum=10, value=3, step=1, label="Epochs")
batch_size = gr.Slider(minimum=8, maximum=64, value=32, step=8, label="Batch Size")
learning_rate = gr.Slider(minimum=1e-5, maximum=1e-3, value=2e-5, step=1e-5, label="Learning Rate")
with gr.Column():
gr.Markdown("### Training Status")
output_text = gr.Textbox(label="Output", lines=10, interactive=False)
train_button = gr.Button("Start Training", variant="primary", size="lg")
train_button.click(
fn=train_model,
inputs=[epochs, batch_size, learning_rate],
outputs=output_text
)
gr.Markdown("### Training Details:")
gr.Markdown("- **Hardware**: Free GPU (Hugging Face Spaces)")
gr.Markdown("- **Expected Time**: 5-10 minutes (GPU) or 15-20 minutes (CPU)")
gr.Markdown("- **Output Directory**: ./results")
gr.Markdown("- **Usage**: Arabic text only")
if __name__ == "__main__":
demo.launch() |