Ahmed1871992 commited on
Commit
7c8ef9e
·
verified ·
1 Parent(s): 8a3f0fd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -12
app.py CHANGED
@@ -6,14 +6,14 @@ from werkzeug.security import generate_password_hash, check_password_hash
6
  import json
7
  import time
8
 
9
- # تحميل نموذج Stable Diffusion الأخف
10
  MODEL_NAME = "runwayml/stable-diffusion-v1-5"
11
  device = "cuda" if torch.cuda.is_available() else "cpu"
12
 
13
  pipe = StableDiffusionPipeline.from_pretrained(MODEL_NAME)
14
  pipe.to(device)
15
 
16
- # قاعدة بيانات للمستخدمين والنماذج المحفوظة (سيتم حفظها في ملف JSON)
17
  user_data_file = "user_data.json"
18
 
19
  # تحميل البيانات من ملف JSON إذا كان موجودًا
@@ -25,18 +25,16 @@ else:
25
 
26
  saved_models = {}
27
 
28
- # وظيفة تدريب النموذج (التدريب يتم مرة واحدة فقط)
29
- def train_model(user_email, images, progress):
30
  if not user_email:
31
- return "يجب تسجيل الدخول لحفظ النموذج."
32
 
33
  user_model_id = f"user_model_{user_email}"
34
  saved_models[user_email] = user_model_id
35
 
36
- # محاكاة عملية التدريب (يمكنك تعديل هذا الجزء ليتناسب مع عملية التدريب الفعلية)
37
- for i in range(1, 101): # محاكاة من 0% إلى 100%
38
- time.sleep(0.1) # تأخير زمني لمحاكاة الوقت
39
- progress(i) # تحديث شريط التقدم
40
 
41
  return f"✅ تم حفظ النموذج بنجاح: {user_model_id}"
42
 
@@ -79,14 +77,13 @@ with gr.Blocks() as demo:
79
  user_email_input = gr.Textbox(label="📧 بريدك الإلكتروني (اختياري لحفظ النموذج)")
80
  train_button = gr.Button("🔧 تدريب النموذج")
81
  train_output = gr.Textbox(label="🔔 نتيجة التدريب")
82
- progress_bar = gr.Progress() # بدون label هنا
83
 
84
  with gr.Column():
85
  prompt_input = gr.Textbox(label="✏️ أدخل البرومبت لإنشاء صورة")
86
  generate_button = gr.Button("🎨 إنشاء صورة")
87
  output_image = gr.Image(label="📷 الصورة الناتجة")
88
 
89
- train_button.click(train_model, inputs=[user_email_input, image_input, progress_bar], outputs=train_output)
90
  generate_button.click(generate_image, inputs=[prompt_input, user_email_input], outputs=output_image)
91
 
92
  gr.Markdown("### 🔑 تسجيل الدخول / التسجيل")
@@ -108,4 +105,4 @@ with gr.Blocks() as demo:
108
  register_button.click(register, inputs=[register_email, register_password], outputs=register_output)
109
 
110
  # تشغيل التطبيق مع رابط عام
111
- demo.launch(share=True)
 
6
  import json
7
  import time
8
 
9
+ # تحميل نموذج Stable Diffusion
10
  MODEL_NAME = "runwayml/stable-diffusion-v1-5"
11
  device = "cuda" if torch.cuda.is_available() else "cpu"
12
 
13
  pipe = StableDiffusionPipeline.from_pretrained(MODEL_NAME)
14
  pipe.to(device)
15
 
16
+ # قاعدة بيانات للمستخدمين والنماذج المحفوظة
17
  user_data_file = "user_data.json"
18
 
19
  # تحميل البيانات من ملف JSON إذا كان موجودًا
 
25
 
26
  saved_models = {}
27
 
28
+ # وظيفة تدريب النموذج (تمت إزالة شريط التقدم)
29
+ def train_model(user_email, images):
30
  if not user_email:
31
+ return "يجب تسجيل الدخول لحفظ النموذج."
32
 
33
  user_model_id = f"user_model_{user_email}"
34
  saved_models[user_email] = user_model_id
35
 
36
+ # محاكاة عملية التدريب
37
+ time.sleep(5) # تأخير زمني لمحاكاة التدريب (يمكن تعديله)
 
 
38
 
39
  return f"✅ تم حفظ النموذج بنجاح: {user_model_id}"
40
 
 
77
  user_email_input = gr.Textbox(label="📧 بريدك الإلكتروني (اختياري لحفظ النموذج)")
78
  train_button = gr.Button("🔧 تدريب النموذج")
79
  train_output = gr.Textbox(label="🔔 نتيجة التدريب")
 
80
 
81
  with gr.Column():
82
  prompt_input = gr.Textbox(label="✏️ أدخل البرومبت لإنشاء صورة")
83
  generate_button = gr.Button("🎨 إنشاء صورة")
84
  output_image = gr.Image(label="📷 الصورة الناتجة")
85
 
86
+ train_button.click(train_model, inputs=[user_email_input, image_input], outputs=train_output)
87
  generate_button.click(generate_image, inputs=[prompt_input, user_email_input], outputs=output_image)
88
 
89
  gr.Markdown("### 🔑 تسجيل الدخول / التسجيل")
 
105
  register_button.click(register, inputs=[register_email, register_password], outputs=register_output)
106
 
107
  # تشغيل التطبيق مع رابط عام
108
+ demo.launch(share=True)