لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 03/25/25 in أجوبة
-
المطلوب منك إيجاد حل فعال وصحيح للمشكلة في أقصر وقت ممكن، مع مراعاة الأداء وهما الزمن والمساحة، ولا يُتوقع منك ابتكار هياكل بيانات أو خوارزميات جديدة كليًا من الصفر، بل الاعتماد على الأدوات والمفاهيم المعروفة كالمصفوفات، القوائم المرتبطة، الأشجار، Hash Tables، الخوارزميات الجشعة، البحث الثنائي، أو البرمجة الديناميكية، وتكييفها لحل المشكلة المحددة. الأهم فهم المشكلة من خلال قراءة الوصف وتحديد المطلوب، ثم اختيار الأداة المناسبة بتحديد هيكل البيانات أو الخوارزمية الأنسب حسب طبيعة المشكلة، وبعد الحل تستطيع تحسين أداء الكود، المهم في البداية الوصول للحل. مثلاً لو المشكلة تتطلب البحث السريع عن عنصر، فالـ Hash Tables هي الخيار الأمثل، ولو بحاجة إلى ترتيب البيانات، فستعتمد على خوارزميات الترتيب QuickSort أو MergeSort. بالطبع أحيانًا تحتاج أحيانًا إلى توظيف ما تعلمته وربط المفاهيم ببعضها، أي تعديل هيكل بيانات أو خوارزمية موجودة لتناسب المشكلة، أو الجمع بين أكثر من أداة كاستخدام Heap مع بحث ثنائي Binary Search. كنصيحة، تعلم الأنماط الشائعة للمشاكل ومنها Two Pointers، Sliding Window، DFS/BFS وكيفية تطبيقها، وذلك سيوفر عليك الكثير الوقت، لأن معظم مسائل LeetCode مبنية على أنماط متكررة تستطيع حلها بأدوات معروفة.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. سؤالك غير واضح أو يبدوا أنك لم تقم بطرحه بالشكل الصحيح . أولا إن الخوارزميات هي مجموعة من التعليمات أو الأوامر والأكواد المرتبة لحل مشكلة ما في الرياضيات أو أي مشكلة تواجهك في الحياة اليومية خلال زمن محدد وعدد خطوات محدود. وتتميز الخوارزمية عن الأخرى في سرعة تنفيذها من حيث الوقت ومن حيث المساحة المستخدمة . إذا أى سؤال في موقع LeetCode أو أى مواقع خاصة بحل المشكلات يعتمد بشكل كبير على إكتشافك لخوارزمية جيدة لتقوم بحل المسألة بها أى أن الخوارزمية ليست لغة برمجة او كود ما . بل هي طريقة حل تقوم بتحويلها إلى كود بعد ذلك. لهذا فالبطبع إبتكارك للحل هو إبتكار لخوارزمية للمشكلة التي تعمل عليها . ونعم بالطبع يمكنك إستخدام هياكل البيانات المتاحة في اللغة التي تعمل عليها مثل القوائم و الأشجار و المصفوفات و القواميس و غيرها من هياكل البيانات الأخرى . ويمكنك إنشاء أى هيكل بيانات خاص بك تراه مناسبا لحل المشكلة التي تعمل عليها. أى أولا يجب عليك إنشاء الخوارزمية المناسبة للحل لك ومن ثم يمكنك إنشاء أو إستخدام أى هيكل بيانات يساعدك في تنفيذ تلك الخوارزمية.1 نقطة
-
يمكنك تعريف ال Convolution Layer بشكل أبسط كالتالي: هي الطبقة المسؤولة عن استخراج الميزات من الصورة المدخلة، مثل الحواف، الألوان، أو الأشكال. تستخدم مرشحات (filters) تمر على الصورة لتوليد خرائط ميزات (feature maps) تُظهر المناطق التي تحتوي على أنماط معينة. وبالنسبة لPooling Layer فهي تُستخدم لتقليل الأبعاد المكانية لخرائط الميزات، مما يقلل من كمية الحسابات ويجعل الشبكة أكثر كفاءة. مثال على ذلك التجميع الأقصى (max pooling) الذي يأخذ القيمة الأكبر من كل منطقة في خريطة الميزات. وأخيراً ال Fully Connected Layer تأتي عادةً في نهاية الشبكة وتُستخدم لتصنيف الميزات التي تم استخراجها. و تسمح بدمج المعلومات لاتخاذ قرار نهائي، مثل تحديد ما إذا كانت الصورة تحتوي على قطة أو كلب.1 نقطة
-
1 نقطة
-
هذه الميزة هي ميزة خاصة بالأمان وهي جيدة جدا وقد تم تصميمها لمنع إرسال النماذج أكثر من مرة لتفادي المشاكل الغير متوقعة . تخيل مثلا أنك تحاول الدفع لطلب ما على الإنترنت . وبعد الدفع قمت بإعادة تحميل صفحة الدفع أو تم إعادة توجيهك لنفس الصفحة . هنا إذا لم تظهر تلك الرسالة سيتم إرسال طلب الدفع مرة أخرى مما يسبب طلبك أو دفعك لهذا الشئ مرتين . ولهذا تم تصميم تلك الرسالة لذلك . إذا أردت إيقافها وكنت تعمل على google chrome . يرجى الذهاب إلى سطح المكتب و الضغط بالزر الأيمن على chrome وإختيار خصائص . في خانة target يرجى كتبة التالي في نهاية السطر : -disable-prompt-on-repost أى يصبح الشكل لديك كالتالي : ليصيح النص في الحقل هكذا مثلا : "C:\Program Files\Google\Chrome\Application\chrome.exe" -disable-prompt-on-repost الآن يجب إغلاق chrome تماما وإعادة فتحه وستجد ان التحذير الذي كان يظهر مسبقا لن يظهر مرة أخرى . ويجب عليك الإنتباه للتحذيرات السابقة وألا تقوم بذلك إلا إذا كنت تعرف ما تريده.1 نقطة
-
فرضًا لدينا مجلد يحتوي على صور بصيغة JPEG، وتريد تحميلها وعرض أول صورة، فالطريقة كالتالي: import tensorflow as tf import matplotlib.pyplot as plt file_paths = tf.data.Dataset.list_files("./images/*.jpg") def load_and_decode_image(file_path): image_data = tf.io.read_file(file_path) image = tf.image.decode_jpeg(image_data, channels=3) return image dataset = file_paths.map(load_and_decode_image) iterator = iter(dataset) first_image = next(iterator) plt.imshow(first_image.numpy()) plt.axis('off') plt.show() في file_paths نقوم بإنشاء Dataset يحتوي على مسارات ملفات الصور التي تنتهي بـ .jpg في المجلد المحدد. و load_and_decode_image هي دالة تستقبل مسار ملف، تقرأه بـ tf.io.read_file، ثم تحول البايتات إلى صورة بـ tf.image.decode_jpeg. بينما ميثود map هي للتكرار على كل عنصر في الـ Dataset لتحويل المسارات إلى صور. وفي العرض plt.imshow(first_image.numpy()) نحدد أول صورة من الـ Dataset ونعرضها. وفي حال أردنا صيغة أخرى غير JPEG مثل PNG، نكتب tf.image.decode_png بدلاً من tf.image.decode_jpeg، وتستطيع أيضًا إضافة خطوات إضافية مثل تغيير حجم الصورة بـ tf.image.resize إذا لزم الأمر.1 نقطة
-
لدينا tf.data.Dataset.list_files حيث تستخدم هذه الدالة لإنشاء كائن tf.data.Dataset يحتوي على قائمة بأسماء الملفات التي تتطابق مع النمط المحدد في pattern، و هذه الطريقة مفيدة عند العمل مع مجموعات بيانات كبيرة، حيث توفر وسيلة ديناميكية لتحميل الملفات دون الحاجة إلى تحديدها يدويا. أما tf.io.read_file فتعمل هذه الدالة على قراءة محتوى الملف المحدد كبيانات خام دون تفسيرها أو تحويلها إلى صيغة محددة، و تستخدم عادة كخطوة وسيطة عند التعامل مع الصور أو النصوص، حيث يتم تحميل البيانات من الملفات قبل معالجتها أو تحويلها إلى نوع بيانات قابل للاستخدام داخل TensorFlow. بالنسبة ل tf.image.decode_jpeg فتستخدم هذه الدالة لفك تشفير الصور المخزنة بصيغة JPEG وتحويلها إلى كائن Tensor، حيث تأخذ الدالة البيانات الخام التي تم تحميلها باستخدام tf.io.read_file، ثم تقوم بتحويلها إلى مصفوفة تمثل الصورة بالأبعاد، و يمكن تحديد عدد القنوات اللونية للصورة من خلال المعامل channels، حيث يمكن ضبطه إلى 3 للحصول على صورة ملونة أو 1 للحصول على صورة بتدرجات الرمادي، و هذه الدالة أساسية عند التعامل مع بيانات الصور في مشاريع تعلم الآلة ورؤية الحاسوب.1 نقطة
-
وعليكم السلام ورحمة الله تعالى وبركاته، بالنسبة ل tf.data.Dataset.list_files فهو يعمل كمستكشف أولي بمعنى أنه يستعرض نظام الملفات الخاص بك للعثور على ملفات معينة تتوافق مع نمطك مثل .jpg" لكنه لا يقوم بفتحها فعليا فهو ببساطة ينشئ مجموعة بيانات تحتوي على مسارات الملفات كسلاسل نصية. أي أنه يختلف ذلك عن tf.io.read_file() الذي يأخذ تلك المسارات المكتشفة ويسترجع المحتوى الخاص بكل ملف وهي البيانات الثنائية كما هي مخزنة في الملف، أي السلسلة من البايتات التي تكوّن الملف بدون أي معالجة أو تفسير مع الحفاظ على البيانات في شكلها المضغوط والمشفر دون تفسير ما تمثله البايتات. وأخيرا يقوم tf.image.decode_jpeg بتحويل تلك البايتات الخام إلى تمثيل بصري ذي معنى عن طريق فك الضغط وتفسير الترميز الخاص ب JPEG وتحويلها إلى متجه ثلاثي الأبعاد بأبعاد تمثل الارتفاع والعرض وقنوات الألوان التي يمكن لنموذجك معالجتها.1 نقطة
-
أنت تحاول استخدام pd.read_csv() لقراءة مجلد بدلا من ملف CSV لاحظ المسار: /kaggle/input/microsoft-catsvsdogs-dataset/PetImages/Cat هو يشير إلى مجلد Cat الذي يحتوي على ملفات صور، وليس ملفات CSV وهذا ما يسبب خطأ IsADirectoryError لأن pandas لا يمكنها قراءة المجلدات كما لو كانت ملفات بيانات جدولية. لذا لا تستخدم pd.read_csv() لقراءة مجلدات الصور بدلا من ذلك يمكنك استخدام وظائف نظام الملفات للوصول إلى ملفات الصور الفردية داخل تلك المجلدات. يمكنك استخدام os.listdir() للحصول على قائمة بأسماء ملفات الصور في مجلدي القطط والكلاب واستخدام مكتبات معالجة الصور مثل PIL لفتح وقراءة ملفات الصور، وهذا مثال بسيط يشرح ذلك: import os import pandas as pd cat_dir = '/kaggle/input/microsoft-catsvsdogs-dataset/PetImages/Cat' # الحصول على قائمة الملفات في المجلد cat_files = os.listdir(cat_dir) # عرض أول 5 ملفات فقط print("أسماء أول 5 ملفات في مجلد القطط:") print(cat_files[:5]) cat_data = {'file_name': cat_files[:10], 'label': ['cat'] * 10} cats_df = pd.DataFrame(cat_data) print("\nDataFrame من أول 10 ملفات:") print(cats_df)1 نقطة
-
المشكلة التي تواجهها هي أنك تحاول تحميل بيانات باستخدام pd.read_csv ولكنك تقدم مسارا لمجلد بدلا من ملف CSV، إذا كنت تريد تحميل الصور من هذا المجلد، فاستخدم مكتبة مثل os أو glob لقراءة أسماء الملفات وتحميل الصور باستخدام مكتبة مثل PIL أو cv2 بدلا من pandas.1 نقطة
-
التلافيف هو العملية الأساسية التي يتم فيها تمرير مرشحات عبر الصورة لاستخراج الميزات المهمة مثل الحواف والأنماط، ثم يتم تطبيق التجميع Pooling لتقليل الأبعاد المكانية للصورة مع الاحتفاظ بأهم المعلومات، مما يقلل من الحسابات ويجعل النموذج أكثر كفاءة، و أكثر أنواع التجميع شيوعا هو التجميع الأعظمي، الذي يحتفظ بالقيم القصوى من كل منطقة مجمعة، وبعدها يتم تمرير الميزات المستخرجة عبر طبقة متصلة بالكاملFully Connected Layer، حيث يتم تحويلها إلى مصفوفة مسطحة تستخدم لاتخاذ القرارات النهائية، مثل تصنيف الصورة إلى الفئة الصحيحة.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته، الشبكة العصبونية الالتفافية (CNN) تبنى من سلسلة من الطبقات، حيث يلعب كل منها دورا فريدا في معالجة وتعلم البيانات المرئية والطبقات الثلاث هي كالتالي: بالنسبة للطبقات الالتفافية فالغرض منها هو استخراج المميزات من الصورة المدخلة بحيث تستخدم هذه الطبقات مرشحات قابلة للتعلم (أو نوى) تنزلق على الصورة المدخلة، حيث تحسب نواتج الضرب النقطي في كل موقع مكاني لإنشاء خرائط مميزة. خطواتها كالآتي: تلتقط الأنماط المحلية مثل الحواف والملمس أو البنى الأكثر تعقيدا. تتكيف المرشحات المتعلمة أثناء عملية التدريب لتبرز أهم المميزات المتعلقة بالمهمة المطلوبة. بالنسبة لطبقات التجميع (Pooling) فالهدف منها هو تقليل الأبعاد المكانية أي العرض والارتفاع لخرائط المميزات، مما يساعد على تقليل الحمل الحسابي والسيطرة على الإفراط في التعلم بحيث تقوم بتلخيص الاستجابات ضمن حي معين، غالبا باستخدام عمليات مثل التجميع الأقصى (Max Pooling) أو التجميع المتوسط (Average Pooling). وخطواتها كالآتي: تضيف درجة من عدم الحساسية للموقع الدقيق للمميزات في الصورة. يقلل تقليل الأبعاد المكانية من التعقيد ويساعد في إنشاء تمثيلات أكثر تجريدا. وأخيرا الطبقات المتصلة بالكامل (Fully Connected Layers) والغرض منها هو دمج المميزات التي تم تعلمها من الطبقات الالتفافية والتجميعية لأداء مهام التصنيف أو التقدير النهائية بحيث تحوّل المميزات عالية المستوى إلى متجه أحادي البعد. أين تكون كل خلية عصبية في هذه الطبقة متصلة بكل خلية من الطبقة السابقة، مما يمكن الشبكة من تعلم تركيبات غير خطية معقدة للمميزات المستخرجة. وهذه الطبقات معا تساعد CNN على تحويل البيانات الخام إلى تمثيل هرمي غني بالمميزات يستخدم بعد ذلك لاتخاذ قرارات دقيقة في المهام المختلفة.1 نقطة
-
محاولة جيدة وأعتقد أنك تعلمت منها بعض الأمور، عامًة في الإصدار 12 تم إتاحة Custom Community Laravel Starter Kits بمعنى Starter Kits تم تطويرها من قبل مبرمجين آخرين في مجتمع لارافل، ولم تعد الخيارات محصورة في الـ Starter Kits المقدمة من قبل لارافل فقط. مع الوقت سيتم إتاحة الكثير من الـ Starter Kits المطورة من قبل مبرمجين آخرين، وحاليًا يوجد بالفعل مجموعة بدء تدعم RTL ها هي: https://github.com/AryanpAzadeh/RTL-blade-starter-kit الشرح الموجود في المستودع بالفارسية قم بترجمته من خلال جوجل ترجمة لتفهم المميزات المتاحة1 نقطة