alomari7 commited on
Commit
f351b1b
·
verified ·
1 Parent(s): 8dd51f4

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -0
README.md CHANGED
@@ -10,5 +10,88 @@ pinned: false
10
  license: apache-2.0
11
  short_description: ' هو نموذج ذكاء اصطناعي متخصص تم تدريبه لفهم وتوليد الأشكال '
12
  ---
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
10
  license: apache-2.0
11
  short_description: ' هو نموذج ذكاء اصطناعي متخصص تم تدريبه لفهم وتوليد الأشكال '
12
  ---
13
+ مشروع تكوين (Takween Project)
14
 
15
+ مشروع متقدم في الذكاء الاصطناعي يهدف إلى تخصيص نموذج الانتشار المستقر (Stable Diffusion)
16
+ لتوليد صور عالية الدقة للأشكال الهندسية بناءً على الأوصاف النصية.
17
+ يستخدم المشروع تقنيات الضبط الدقيق الفعالة (LoRA) لتدريب النموذج على فهم وتكوين صور دقيقة تعكس العلاقات المكانية، الألوان، والخصائص المحددة في النص.
18
+
19
+ توليد صور هندسية من النص: القدرة على تحويل الأوصاف النصية المعقدة (مثل "مثلث أزرق مفرغ على يسار مربع أصفر") إلى صور دقيقة.
20
+ كفاءة في التدريب: استخدام تقنية LoRA (Low-Rank Adaptation) لضبط النموذج، مما يقلل بشكل كبير من متطلبات الذاكرة ويسرع عملية التدريب.
21
+ خط أنابيب بيانات مخصص: نظام مرن لمعالجة البيانات يربط كل صورة بمجموعة من الأوصاف النصية المعززة (Augmented) لتدريب أكثر ثراءً.
22
+ واجهة مستخدم تفاعلية: واجهة ويب سهلة الاستخدام تم بناؤها باستخدام Gradio، تتيح لأي شخص تجربة النموذج بسهولة.
23
+ دعم ControlNet (اختياري): إطار عمل جاهز لدمج ControlNet، مما يفتح الباب أمام تحكم هيكلي أكثر دقة في الصور المولدة.
24
+ الهيكل التقني
25
+ يعتمد المشروع على مجموعة من التقنيات والمكتبات الحديثة في مجال تعلم الآلة:
26
+
27
+ النموذج الأساسي: runwayml/stable-diffusion-v1-5
28
+ إطار العمل: PyTorch
29
+ مكتبات الانتشار: Hugging Face Diffusers, Transformers
30
+ تقنية الضبط الدقيق: PEFT (Parameter-Efficient Fine-Tuning)
31
+ التسريع والأداء: Accelerate (للتدريب بالدقة المختلطة fp16)
32
+ الواجهة الرسومية: Gradio
33
+ متطلبات التشغيل
34
+ للتشغيل الناجح للمشروع، ستحتاج إلى:
35
+
36
+ حساب Google Drive لتخزين البيانات والنماذج.
37
+ بيئة Google Colab (أو بيئة محلية مع GPU مناسبة).
38
+ مكتبات Python المذكورة في ملف project.txt.
39
+ يمكن تثبيت المكتبات الأساسية عبر الأوامر التالية:
40
+
41
+ Bash
42
+
43
+ !pip install -qqq diffusers transformers accelerate peft bitsandbytes torch torchvision
44
+ !pip install -qqq gradio controlnet_aux
45
+ إعداد المشروع
46
+ استنساخ المستودع (Clone):
47
+
48
+ Bash
49
+
50
+ git clone [Your-Repository-URL]
51
+ cd [Your-Repository-Name]
52
+ الاتصال بـ Google Drive:
53
+
54
+ في بيئة Colab، قم بتوصيل حسابك في Google Drive.
55
+ تنظيم البيانات:
56
+
57
+ أنشئ مجلدًا رئيسيًا للمشروع في Google Drive (على سبيل المثال، GeoSynthAI_Augmented_Data).
58
+ داخل هذا المجلد، أنشئ مجلدين:
59
+ images: ضع فيه جميع الصور الهندسية.
60
+ descriptions: ضع فيه جميع الملفات النصية (.txt) التي تصف الصور.
61
+ ملاحظة هامة: يجب أن يتطابق اسم ملف الصورة (بدون الامتداد) مع بداية اسم الملف النصي المرتبط به (e.g., image_0.png يرتبط بـ image_0_original.txt, image_0_aug_0.txt, etc.).
62
+ طريقة الاستخدام
63
+ اتبع الخطوات التالية لتشغيل المشروع بالكامل:
64
+
65
+ 1. تدريب النموذج
66
+ قم بتشغيل خلايا الكود المسؤولة عن تحميل البيانات وإعدادها.
67
+ نفّذ دالة train_and_save_model.
68
+ ستبدأ عملية التدريب، وسيتم تطبيق LoRA على نموذج UNet.
69
+ يتم استخدام Accelerator لتسريع العملية.
70
+ بعد انتهاء التدريب، سيتم حفظ النموذج المدرب وأوزان LoRA تلقائيًا في مجلد final_model داخل Google Drive.
71
+ 2. تقييم النموذج
72
+ بعد تدريب النموذج، قم بتنفيذ دالة evaluate_trained_model.
73
+ ستقوم هذه الدالة بتوليد صور بناءً على مجموعة من الموجهات النصية المحددة مسبقًا.
74
+ سيتم حفظ الصور والتقرير في مجلد evaluation_results في Google Drive.
75
+ 3. تشغيل الواجهة التفاعلية
76
+ قم بتشغيل الخلية الأخيرة في الكود التي تحتوي على إعدادات Gradio.
77
+ سيتم تحميل النموذج المدرب من Google Drive.
78
+ ستظهر واجهة ويب تفاعلية تتيح لك إدخال وصف نصي وتوليد الصور مباشرة.
79
+ الخطط المستقبلية
80
+ تفعيل تدريب ControlNet: إعداد بيانات التحكم (مثل خرائط Canny) وتدريب النموذج بشكل كامل مع ControlNet لفرض قيود هيكلية دقيقة.
81
+ توسيع مجموعة البيانات: زيادة حجم وتنوع البيانات لتغطية أشكال وعلاقات مكانية أكثر تعقيدًا.
82
+ الترقية إلى نماذج أحدث: تجربة المشروع على نماذج أساسية أقوى مثل SDXL.
83
+ فريق العمل
84
+ هذا المشروع هو نتاج جهد وتعاون الفريق:
85
+
86
+ أسامة سعيد
87
+ طارق العمري
88
+ شكر وتقدير
89
+ نتقدم بجزيل الشكر والتقدير لكل من ساهم في إنجاح هذا العمل بإرشاده ودعمه:
90
+
91
+ الدكتور القدير/ أكرم الصباري
92
+
93
+ أستاذ الذكاء الاصطناعي وتعلم الآلة
94
+ المهندسة/ فاتن الحيافي
95
+
96
+ أستاذة الجانب العملي
97
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference