اذهب إلى المحتوى

لوحة المتصدرين

  1. Amr Hatem Taweila

    Amr Hatem Taweila

    الأعضاء


    • نقاط

      2

    • المساهمات

      291


  2. Ali Ahmed55

    Ali Ahmed55

    الأعضاء


    • نقاط

      2

    • المساهمات

      2046


  3. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      2

    • المساهمات

      18961


  4. أحمدو أحمدو بدي باب

    • نقاط

      1

    • المساهمات

      15


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 02/16/25 in أجوبة

  1. السلام عليكم هل اضاقة Dropout و الBatch Normalization في كل طبقة في الشبكه العصبيه ممكن ياثير بالسلب علي النموذج ؟
    2 نقاط
  2. ما المطلوب مني عند إنهاء مسار مثل الرؤيه الحاسوبيه خصوصا وانا اشعر ان ان الدوره لم تتعمق فيها هل مطلوب مني أن اتعمق بنفسي من مصادر خارجيه وانا مدرك أن مفيش دوره أو كورس بيعطي كل حاجه لازم في جزء اني ابحث واتعلم بنفسي .
    2 نقاط
  3. عندي جهازين عليهم ubuntu (نظام تشغيل اساسي ليس معه أي نظام تشغيل أخر) الجهازين متصلين براوتر شاهدت فيديوهات كثيرة من اجل الوصول لطريقة واضحة لمشاركة الملفات بين الجهازين ولكن لم أصل لطريقه صحيحة أتمنى خبير يوضح الخطوات من البداية بطريقة أكيدة
    1 نقطة
  4. '"D:\scr\flutter\bin\cache\dart-sdk\bin\dart.exe"' is not recognized as an internal or external command, operable program or batch file.
    1 نقطة
  5. لقد اشتركت في بعض دورات أكاديمية حسوب لكن لم أستطع الوصول إلى الدورات لماذا ، وما السبب في ذلك، وكيف يمكنني الوصول إلى الدورات
    1 نقطة
  6. إذا لم تستطع الوصول إلى الدورات أيضاً بعد الخطوات الموجودة بالتعليق السابق يرجى التحدث مع مركز المساعدة وسيتم حل المشكلة باسرع وقت من خلال الإنتقال للرابط التالي وشرح المشكلة https://support.academy.hsoub.com/
    1 نقطة
  7. مرحبا أحمد، قد يتأخر بعض الأحيان اعطاءك للوصول للدورة التي قمت بالاشتراك فيها إلى ما بعد التأكد من المعاملة والتصديق عليها من قبل فريق الأكاديمية. بعد ذلك، سيظهر لك زر "دوراتي" في قائمة التصفح، اضغطه وسيتم توجيهك للدورات:
    1 نقطة
  8. بالطبع، Batch Normalization تعمل على تثبيت التوزيع الإحصائي للمدخلات عن طريق تعديل المتوسط والتباين للدفعة batch أثناء التدريب، وDropout يغير التوزيع بشكل عشوائي عن طريق إسقاط بعض الوحدات neurons، وذلك يتعارض مع جهود BN لتوحيد المدخلات. بالتالي تقلبات أكبر في إحصائيات BN كالمتوسط والتباين، وصعوبة في تقارب النموذج بسبب عدم استقرار التوزيعات. الترتيب الأمثل هو طبقة Dense ثم Batch Normalization ثم وظيفة التنشيط Activation ثم Dropout، وفي حال تطبيق Dropout قبل BN، فإن إسقاط الوحدات العشوائي سيؤثر على إحصائيات الدفعة التي تعتمد عليها BN، وسيؤدي إلى نتائج غير متوقعة. عامًة جرب ترتيبات مختلفة، وخفِّض معدل الإسقاط مثل 0.2 بدلًا من 0.5 في حال تستخدم BN، ولو لاحظت تراجعًا في دقة التدريب underfitting أو تقلبات كبيرة، فقلل من استخدام Dropout أو BN.
    1 نقطة
  9. أكيد إضافة Dropout و Batch Normalization لكل طبقة في الشبكة العصبية قد يؤثر سلبا على أداء النموذج، حيث يلعب كل منهما دور مختلف في تحسين التدريب، فمثلا Dropout يساعد في تقليل overfitting عن طريق تعطيل بعض الوحدات العصبية عشوائيا، ولكن تطبيقه على كل طبقة قد يؤدي إلى فقدان كبير للمعلومات وإبطاء عملية التعلم، و في المقابل Batch Normalization يعمل على استقرار التوزيع وتسهيل التدريب، ولكنه قد يتعارض مع Dropout، حيث إن الأول يحاول تثبيت التوزيع بينما الثاني يضيف عشوائية، لذا يفضل استخدام Batch Normalization في الطبقات العميقة لتحسين استقرار النموذج، بينما يستخدم Dropout بحذر في الطبقات المخفية فقط، مع تجنب وضعه مباشرة بعد Batch Normalization، و الجمع بينهما بشكل غير مدروس قد يؤدي إلى بطء التدريب وضعف الأداء، لذا من الأفضل تجربة تكوينات مختلفة لمعرفة التوازن الأمثل الذي يناسب البيانات والنموذج.
    1 نقطة
  10. السلام عليكم، من المعلوم أن مكتبة TanStack Query توفر مرونة كبيرة في التعامل مع البيانات القادمة من الخادم. مع ذلك، لا يُفضل استخدامها مع مكتبات أخرى لإدارة حالة التطبيق مثل Zustand و Redux Toolkit، حيث قد يؤدي ذلك إلى تعقيد غير ضروري. واجهت مشكلة عند تسجيل الدخول إلى التطبيق ثم الانتقال إلى صفحة أخرى، إذ كان من الضروري تخزين البيانات القادمة من الخادم في الذاكرة المحلية للمتصفح لاستخدامها في الحماية والتحقق. لحل هذه المشكلة، استخدمت createContext. المشكلة الأخرى أنني لم أجد من استخدم هذا الحل مسبقًا، لذا أود الاستفسار عن مدى فاعليته، وهل هناك حل أفضل؟ شكرًا لكم.
    1 نقطة
  11. هناك أمر يجب توضيحه TanStack Query هي أدارة لإدارة حالة التطبيق لكن هي async أي بيانات لا تصل إليها مباشرًة بل من الخادم، بينما لو لديك بيانات non-async فلا حاجة إليها استخدم Zustand، وللعلم تستطيع استخدام كلاهما لا مشكلة. أيضًا لما لا تستخدم RTK Query معRedux Toolkit. createContext مع localStorage حل مقبول للمشاريع الصغيرة إلى المتوسطة، خاصةً لو البيانات محدودة ولا تحتاج إلى تحديثات متكررة، أي لا يتطلب إضافة مكتبات خارجية ويدعم تحديث الواجهة تلقائيًا عند تغيير الحالة ويناسب الحالات البسيطة مثل تخزين بيانات المستخدم الأساسية. لكن هناك سلبيات منها إعادة التصيير Re-renders، حيث أي تغيير في الحالة يؤدي إلى إعادة تصيير جميع المكونات المشتركة في الـ contextK ,يحتاج إلى تعليمات يدوية لمزامنة الحالة مع localStorage مثل useEffect. أيضًا localStorage غير مشفر، وذلك يعرض البيانات الحساسة للاختراق ويفضل استخدام HTTP-only Cookies للـ Tokens. بالتالي الأفضل استخدام Zustand مع Middleware للتخزين المحلي وهو الأنسب للمشاريع المتوسطة والكبيرة. import { create } from 'zustand'; import { persist } from 'zustand/middleware'; const useAuthStore = create( persist( (set) => ({ user: null, login: (user) => set({ user }), logout: () => set({ user: null }), }), { name: 'auth-storage', getStorage: () => localStorage, } ) ); const user = useAuthStore((state) => state.user); أو دمج TanStack Query مع التخزين المحلي باستخدام onSuccess في mutation وستتمكن من تسجيل الدخول لحفظ البيانات مباشرة في localStorage، واستخدام QueryClient لقراءتها لاحقًا. const { mutate: login } = useMutation({ mutationFn: loginApi, onSuccess: (data) => { localStorage.setItem('user', JSON.stringify(data.user)); queryClient.setQueryData(['user'], data.user); }, }); const user = JSON.parse(localStorage.getItem('user') || 'null'); const queryClient = useQueryClient(); queryClient.setQueryData(['user'], user);
    1 نقطة
  12. وعليكم السلام ورحمة الله، هذا الحل موجود ومستخدم ولا يوجد اي مشكلة في استخدام اي من ال context أو redux أو Zustand في توفير ال token ومعلومات المستخدم.
    1 نقطة
×
×
  • أضف...