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

ياسر مسكين

الأعضاء
  • المساهمات

    2653
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    5

كل منشورات العضو ياسر مسكين

  1. هذا بسبب أنك نسيت كتابة علامة : بعد كلمة default في هذا السطر: default console.log('Invalid Input'); break; } لذا يجب تعديلها لتصبح كالتالي: default: console.log('Invalid Input'); break; } ومنه يصبح الكود بعد التعديل هكذا: let day = +prompt('Enter day:'); switch(day) { case 0: console.log('Sunday'); break; case 1: console.log('Monday'); break; case 2: console.log('Tuesday'); break; case 3: console.log('Wednesday'); break; case 4: console.log('Thursday'); break; case 5: console.log('Friday'); break; case 6: console.log('Saturday'); break; default: console.log('Invalid Input'); break; } وتلك النقطتين مهمتان جدا ولا ينبغي نسيانهما فهي تعلن نهاية الشرط (case) وتفصل بين الشرط والكود الذي سيتم تنفيذه، فضلا على أنها جزء من التركيب الصحيح للغة البرمجية لهذا واجهت Syntax Error بتصحيحه وإضافة النقطتين سيعمل معك البرنامج. يمكنك مراجعة البناء الخاص بها من هنا: التعبير البرمجي switch.
  2. وعليكم السلام ورحمة الله تعالى وبركاته، لا يوجد قاعدة بيانات منفصلة للتسميات في المسار /kaggle/input/microsoft-catsvsdogs-dataset، بل يتم تخزين التسميات ضمن بنية المجلدات وعند استخدام الدالة flow_from_directory() في Keras، يتم تعيين التسميات تلقائيًا استنادًا إلى أسماء المجلدات الفرعية فيما يلي الكود الأساسي الذي يوضح ذلك: from keras.preprocessing.image import ImageDataGenerator train_datagen = ImageDataGenerator(rescale=1./255) train_generator = train_datagen.flow_from_directory( '/kaggle/input/microsoft-catsvsdogs-dataset/PetImages', target_size=(150, 150), batch_size=32, class_mode='binary' ) print("Class Indices:", train_generator.class_indices) بهذا الشكل سيقوم المولد train_generator بتوليد دفعات من الصور مع التسميات التي تم استخراجها تلقائيًا من أسماء المجلدات.
  3. وعليكم السلام ورحمة الله تعالى وبركاته، عند تقسيم بيانات الصور لتدريب نموذج تعلم آلي، تكون العملية بسيطة جدا لأنّ الدالة train_test_split() مصممة للتعامل مع المصفوفات متعددة الأبعاد، مما يعني أنها تعمل بشكل مثالي مع مجموعات بيانات الصور. هذه الدالة تأخذ مجموعة الصور بالكامل وتقوم بتقسيمها عشوائيا إلى مجموعتين: مجموعة للتدريب وأخرى للاختبار. يضمن هذا التقسيم الحفاظ على التوافق الصحيح بين الصور والتسميات الخاصة بها على سبيل المثال إذا كان لديك مجموعة من صور القطط والكلاب مع التسميات الخاصة بها، فسيتم الاحتفاظ بكل صورة مع التسمية الصحيحة عند التقسيم. كما يمكنك التحكم في نسبة البيانات المخصصة للاختبار عن طريق تحديد النسبة المئوية التي تريد استخدامها. عادة نقوم بتخصيص حوالي 20% من البيانات للاختبار بينما نستخدم 80% منها للتدريب كما يمكن تعيين random seed مما يتيح الحصول على نفس التقسيم العشوائي في كل مرة تقوم بتشغيل الكود، وهذا مفيد لضمان تكرار النتائج في تجارب التعلم الآلي. التقسيم يكون عشوائيا تماما، لكنه يضمن أن تكون مجموعتا التدريب والاختبار ممثلتين بشكل جيد لمجموعة البيانات الكاملة وهذا سيساعد على إنشاء نموذج تعلم آلي أكثر دقة حيث يتم اختباره على بيانات لم يسبق له رؤيتها أثناء التدريب.
  4. يوجد نوعان من المشاريع، مشاريع وتطبيقات علمية تتواجد في المسارات الخاصة بالدورة، وفي هذه الحالة أنت مطالب بإنجازها خلال التعلم مع المدرب ثم رفعها لأنها شرط من شروط التقدم للامتحان النهائي، يمكنك مراجعة الشروط من هنا: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا توثيق الهوية شروط التقدم للامتحان بعد ذلك سيتوجب عليك التواصل مع مركز مساعدة أكاديمية حسوب وإخبارهم في رغبتك بإجراء الامتحان مع تزويدهم بروابط المشاريع التي قمت برفعها وطبقتها أثناء الدورة، بعدها سيحدّد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. ثم سيحدد لك المدرب مشروعا مرتبطا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معه من جديد.
  5. وعليكم السلام ورحمة الله تعالى وبركاته، الدالة cifar10.load_data() هي جزء من واجهة برمجة التطبيقات لمجموعات البيانات في Keras التابعة ل TensorFlow وتحديدا ضمن tf.keras.datasets.cifar10 وتقوم هذه الدالة بتحميل مجموعة بيانات CIFAR-10 في حال ما إذا لم تكن موجودة بالفعل في ذاكرة التخزين المؤقت وهي عبارة عن مجموعة من 60,000 صورة ملونة بحجم 32x32 بكسل تنتمي إلى 10 فئات. ويتم تقسيم المجموعة إلى 50,000 صورة للتدريب و10,000 صورة للاختبار، وتعيد الدالة هذه البيانات على شكل زوج من الأزواج: x_train, y_train) – مجموعة التدريب (x_test, y_test) – مجموعة الاختبار وتمثل كل صورة مصفوفة NumPy ذات أبعاد (32, 32, 3) للدلالة على وجود 3 قنوات لونية (أحمر، أخضر، أزرق) وتعطى التسميات كأعداد صحيحة تشير إلى إحدى الفئات العشر وتستخدم هذه الدالة بشكل شائع لتجربة النماذج التصنيفية باستخدام الشبكات العصبية الالتفافية (CNNs) في TensorFlow بسرعة وسهولة.
  6. وعليكم السلام ورحمة الله تعالى وبركاته، دورة إدارة تطوير المنتجات تقوم بالتركيز على تعليم المفاهيم والمراحل الأساسية لتطوير وإدارة المنتجات الرقمية من الفكرة حتى الإطلاق وما بعده فهي تشرح كيف يتم تطوير المنتجات الرقمية، وتشرح كيفية إدارة المنتجات بدءا من دراسة السوق وتحديد احتياجات المستخدمين وصولا إلى التخطيط، التنفيذ، المتابعة، والتحليل بعد الإطلاق. يمكنك أخذ فكرة عن مسارات ومحاور دورة إدارة تطوير المنتجات من خلال الصفحة الرسمية للاشتراك في الدورة من هنا: دورة إدارة تطوير المنتجات هذه الدورة موجهة أساسا لمن: ليس لديه خبرة في مجال البرمجة أو التصميم ويريد تنفيذ مشروعه الناشئ يريد تعلم إدارة تطوير المنتجات لتحسين فرصه التوظيفية يعمل في إدارة المنتجات ويرغب بتوسعة معلوماته حول عملية التطوير وإدارتها وبما أنك ترغب في تحسين فرصك التوظيفية فالمحاور التي ستتعلمها في الدورة ستساعدك في هذا الشأن من خلال تعلم: أساسيات إدارة تطوير المنتجات كيفية توظيف مصممين ومبرمجين إعداد المستندات اللازمة لتطوير المنتجات التعمق في منهجية أجايل وبالنسبة للوظائف التي يمكن تقلّدها يمكنك أن تعمل ك: مدير منتج (Product Manager) مالك المنتج (Product Owner) استشاري تطوير المنتجات محلل أعمال وفي مواقع العمل الحر كمستقل وخمسات، يمكنك إيجاد العديد من المشاريع التي تكون تحت وسم "إدارة المنتجات" وأي شيء بخصوص العمل بعد اشتراكك في الدورة يمكنك مناقشته من خلال مركز المساعدة: مركز مساعدة أكاديمية حسوب
  7. وعليكم السلام ورحمة الله تعالى وبركاته، يمكنك التعرف علىمفهوم الكلمة المفتاحية yield واستخداماتها في لغة بايثون من خلال الإجابتين هاتين: بالنسبة للفرق بينها وبين return فيكمن ذلك في أن yield تعمل مثل return في إعادة القيمة التي تم حسابها ولكنها لا توقف عمل الدالة بشكل كامل بل تسمح لنا بإعادة استدعاء الدالة نفسها مع حفظ آخر خطوة قمنا بها والعمل على الخطوة التالية.
  8. وعليكم السلام ورحمة الله تعالى وبركاته، في HTML لكل وسم دوره ودلالته الخاصة ووسم <p> يستخدم لتعريف فقرة نصية، وهو عنصر كتلي (block element) يعني أنه يخلق مسافة فاصل حول المحتوى بداخله. أما الوسوم مثل <strong> فهي عناصر مضمنة (inline elements) تستخدم لتحديد وتوضيح أجزاء من النص داخل الفقرة أو عنصر آخر لهذا فوضع الوسوم الأخرى داخل <p> قد يؤدي إلى استخدام غير مناسب للدلالات والهيكلية الصحيحة للصفحة، وقد يسبب مشاكل في التنسيق والتخطيط لهذا نستخدم كل وسم في سياقه المناسب حسب وظيفته ودلالته في المحتوى. في حال كان سؤالك متعلقا بإحدى الدورات التي قمت بالاشتراك فيها، أرجو منك الانتقال إلى قسم "دوراتي" ثم أسفل الدرس الذي واجهت فيه المشكلة، قم بإضافة سؤالك هناك، وهذا لمساعدتك بشكل أفضل. بالتوفيق إن شاء الله.
  9. وعليكم السلام ورحمة الله تعالى وبركاته، بالنسبة ل tf.data.Dataset.list_files فهو يعمل كمستكشف أولي بمعنى أنه يستعرض نظام الملفات الخاص بك للعثور على ملفات معينة تتوافق مع نمطك مثل .jpg" لكنه لا يقوم بفتحها فعليا فهو ببساطة ينشئ مجموعة بيانات تحتوي على مسارات الملفات كسلاسل نصية. أي أنه يختلف ذلك عن tf.io.read_file() الذي يأخذ تلك المسارات المكتشفة ويسترجع المحتوى الخاص بكل ملف وهي البيانات الثنائية كما هي مخزنة في الملف، أي السلسلة من البايتات التي تكوّن الملف بدون أي معالجة أو تفسير مع الحفاظ على البيانات في شكلها المضغوط والمشفر دون تفسير ما تمثله البايتات. وأخيرا يقوم tf.image.decode_jpeg بتحويل تلك البايتات الخام إلى تمثيل بصري ذي معنى عن طريق فك الضغط وتفسير الترميز الخاص ب JPEG وتحويلها إلى متجه ثلاثي الأبعاد بأبعاد تمثل الارتفاع والعرض وقنوات الألوان التي يمكن لنموذجك معالجتها.
  10. أنت تحاول استخدام 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)
  11. وعليكم السلام ورحمة الله وبركاته، الشبكة العصبونية الالتفافية (CNN) تبنى من سلسلة من الطبقات، حيث يلعب كل منها دورا فريدا في معالجة وتعلم البيانات المرئية والطبقات الثلاث هي كالتالي: بالنسبة للطبقات الالتفافية فالغرض منها هو استخراج المميزات من الصورة المدخلة بحيث تستخدم هذه الطبقات مرشحات قابلة للتعلم (أو نوى) تنزلق على الصورة المدخلة، حيث تحسب نواتج الضرب النقطي في كل موقع مكاني لإنشاء خرائط مميزة. خطواتها كالآتي: تلتقط الأنماط المحلية مثل الحواف والملمس أو البنى الأكثر تعقيدا. تتكيف المرشحات المتعلمة أثناء عملية التدريب لتبرز أهم المميزات المتعلقة بالمهمة المطلوبة. بالنسبة لطبقات التجميع (Pooling) فالهدف منها هو تقليل الأبعاد المكانية أي العرض والارتفاع لخرائط المميزات، مما يساعد على تقليل الحمل الحسابي والسيطرة على الإفراط في التعلم بحيث تقوم بتلخيص الاستجابات ضمن حي معين، غالبا باستخدام عمليات مثل التجميع الأقصى (Max Pooling) أو التجميع المتوسط (Average Pooling). وخطواتها كالآتي: تضيف درجة من عدم الحساسية للموقع الدقيق للمميزات في الصورة. يقلل تقليل الأبعاد المكانية من التعقيد ويساعد في إنشاء تمثيلات أكثر تجريدا. وأخيرا الطبقات المتصلة بالكامل (Fully Connected Layers) والغرض منها هو دمج المميزات التي تم تعلمها من الطبقات الالتفافية والتجميعية لأداء مهام التصنيف أو التقدير النهائية بحيث تحوّل المميزات عالية المستوى إلى متجه أحادي البعد. أين تكون كل خلية عصبية في هذه الطبقة متصلة بكل خلية من الطبقة السابقة، مما يمكن الشبكة من تعلم تركيبات غير خطية معقدة للمميزات المستخرجة. وهذه الطبقات معا تساعد CNN على تحويل البيانات الخام إلى تمثيل هرمي غني بالمميزات يستخدم بعد ذلك لاتخاذ قرارات دقيقة في المهام المختلفة.
  12. في دورة الذكاء الاصطناعي، يتم التركيز على كلا الجانبين ستتعلم كيفية التعامل مع النماذج الجاهزة مثل نماذج GPT و LLaMA، بالإضافة إلى فهم الخوارزميات الأساسية في تعلم الآلة كالانحدار، التصنيف، التجميع والتعلم الموجه وغير الموجه والتعلم المعزز. هذا يعني أنك ستحصل على قاعدة قوية لفهم كيفية عمل النماذج من الداخل، مما يمهد الطريق لإنشاء نماذج مبسطة أو تخصيص النماذج القائمة وفقا لاحتياجاتك وبعبارة أخرى الدورة لا تقتصر فقط على استخدام النماذج الموجودة، بل توفر أيضا المعرفة والأدوات الضرورية لتطوير أو تعديل نماذج الذكاء الاصطناعي عند الحاجة. يتم إنشاء نموذج من الصفر في مسار "تطوير نماذج ذكاء اصطناعي لمتجر إلكتروني" أين سيتم التطرق إلى هذه المحاور بالترتيب: تحليل بيانات المتجر الالكتروني إيجاد قواعد الترابط استخدام تعلم التصنيف توقع المبيعات المستقبلية ربط تقنيات الذكاء الاصطناعي مع المتجر الإلكتروني باستخدام واجهة برمجة التطبيقات ولكن يجب عليك أولا أن تكون قد فهمت دروس مسارات أساسيات بايثون، تحليل البيانات وقواعد البيانات وتعلم الآلة لأن هذا المسار سيكون مسارا تطبيقيا لكلّ ما ستدرسه في المسارات السابقة.
  13. ما سيتم التطرق إليه في هذه الدورة هو هذه النقاط: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب يمكنك الاطلاع عليها من خلال التوجه إلى صفحة الدورة، من خلال تبوبية: دورات أو من هنا مباشرة: بالتوفيق إن شاء الله.
  14. وعليكم السلام ورحمة الله، عند استخدام هذا السطر: for num in set(array): سيتم التكرار عبر العناصر بترتيب عشوائي على سبيل المثال، إذا كانت مصفوفة الأعداد هي: [2, -1, 3, -1] فإن ترتيب واحد مثل [2, -1, 3] قد يعطي مجموعا تراكميا 2 ،1 ، 4 بإجمالي 4 بينما ترتيب آخر مثل [2, 3, -1] قد يعطي 2 ، 5 ، 4 بإجمالي 5. وأيضا عندما توجد أعداد موجبة، الاستراتيجية المثلى هي استبعاد الأعداد السالبة لأن وجودها يقلل من المجموع الكلي في هذه المشكلة، إذا كان هناك عدد موجب واحد على الأقل، يمكنك دائما حذف الأعداد السالبة بحيث يكون المجموع الأمثل هو مجموع كل الأعداد الموجبة المميزة (الصفر لا يؤثر على المجموع) في حلّك قد تتم إضافة بعض الأعداد السالبة من المجموعة مما يقلل من المجموع. وبما أنه مسموح لك بحذف أي عناصر، يمكنك دائما تشكيل مصفوفة فرعية (Subarray) تحتوي على كل عدد مفيد (أي موجب) مرة واحدة فقط. الحل الأمثل هو: إذا كان هناك عدد موجب على الأقل: احسب مجموع جميع الأعداد الموجبة المميزة. إذا لم توجد أعداد موجبة: قم بإرجاع أكبر عنصر أي العدد "الأقل سلبية".
  15. Kadane's Algorithm هي خوارزمية خطية تستخدم لإيجاد أكبر مجموع لمصفوفة فرعية في مصفوفة معينة تعرف المصفوفة الفرعية بأنها مجموعة متصلة من العناصر داخل المصفوفة وتتعامل الخوارزمية بفاعلية مع الأرقام الموجبة والسالبة، مما يجعلها أداة متعددة الاستخدامات لحل العديد من المشكلات المتعلقة بالمصفوفات الفرعية. تعتمد الخوارزمية على منهج البرمجة الديناميكية من خلال حساب أكبر مجموع متصل ينتهي عند كل عنصر في المصفوفة والفكرة الأساسية هي مقارنة العنصر الحالي بأكبر مجموع متصل سابق، وتحديث القيم بناء على ذلك ولتنفيذها نقوم بالتالي أولا نقوم بتهيئة متغيرين: max_so_far: أكبر مجموع متصل تم العثور عليه حتى الآن. max_ending_here: المجموع المتصل الحالي. ثم نمرر على كل عنصر في المصفوفة من خلال إضافة العنصر الحالي إلى max_ending_here فإذا كان max_ending_here أقل من الصفر، نقوم بإعادة ضبطه إلى صفر، ونقوم بتحديث max_so_far إذا كان max_ending_here أكبر منه. وعند الانتهاء من المرور على المصفوفة، سيحتوي max_so_far على أكبر مجموع متصل على هذا النحو: public class KadaneAlgorithm { public static int maxSubarraySum(int[] arr) { int max_so_far = Integer.MIN_VALUE; int max_ending_here = 0; for (int i = 0; i < arr.length; i++) { max_ending_here += arr[i]; if (max_ending_here < 0) { max_ending_here = 0; } if (max_so_far < max_ending_here) { max_so_far = max_ending_here; } } return max_so_far; } public static void main(String[] args) { int[] arr = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; int maxSum = maxSubarraySum(arr); System.out.println("أكبر مجموع متصل هو: " + maxSum); } } ثم الإخراج سيكون: أكبر مجموع متصل هو: 6 وهو ناتج جمع [4, -1, 2, 1]. أما بالنسبة للتعقيد الزمني لهذه الخوارزنية فهو O(n) حيث n هو عدد عناصر المصفوفة.
  16. وعليكم السلام ورحمة الله تعالى وبركاته، ال Convolutional Neural Networks ليست مقتصرة على الرؤية الحاسوبية فقط على الرغم من أنها أصبحت مشهورة بنجاحها في المهام المتعلقة بالصور مثل التصنيف والكشف والتجزئة، إلا أنه يتم الآن تطبيقها في العديد من المجالات الأخرى. على سبيل المثال تستخدم في معالجة اللغة الطبيعية لمهام مثل تصنيف النصوص وتحليل المشاعر، وفي معالجة الصوت والتعرف على الكلام، وحتى في مجالات مثل المعلوماتية الحيوية وتحليل السلاسل الزمنية. كما أنّ قدرتها على تعلم الميزات الهرمية تلقائيا من البيانات تجعلها متعددة الاستخدامات للعديد من أنواع المدخلات المنظمة والمتسلسلة. كما أنها وسيلة لتعلم الأنماط الموجودة في البيانات بحيث يمكن أن تكون البيانات بأي شكل مثل ثنائي الأبعاد أو ثلاثي الأبعاد أو أكثر وغالبا ما تستخدم الصور في الشروحات لأنها تجعل من السهل فهم كيفية تطبيق الشبكة على البيانات. وأيضا تم استخدامها في المجال الطبي لتحليل البيانات التسلسلية مثل إشارات تخطيط القلب الكهربائي (ECG) لذا فإن مرونتها في التعامل مع أنواع مختلفة من البيانات المنظمة ضمن شبكة (grid) تجعلها مفيدة في مجالات متنوعة، ولا تقتصر فقط على مهام الإدراك البصري.
  17. أولا أقترح عليك هذه المقالة التي تشرح كيف يتم ذلك نظريا وعمليا من هنا: وبالنسبة لخطوات التحويل فيجب بدءا تثبيت مكتبة PyInstaller من خلال فتح نافذة الأوامر أو الطرفية ثم نقوم بالتثبيت باستخدام pip: pip install pyinstaller بعدها انتقل إلى مجلد السكريبت الخاص بك من خلال تغيير المسار في الطرفية باستخدام الكلمة المفتاحية cd متبوعة بمسار المجلد، ثم شغّل PyInstaller مع خيار --onefile لجمع كل الملفات في ملف تنفيذي واحد: pyinstaller --onefile script.py يمكنك دوما مراجعة التوثيق الرسمي للمكتبة من هنا: PyInstaller في حال أردت إضافة إعدادات إضافية للأمر. أو يمكنك متابعة الخطوات من خلال هذه الإجابة:
  18. مرحبا بك، بما أنك مشترك في كلا الدورتين، فمن الأفضل إكمال دورة علوم الحاسوب أولا قبل الانتقال إلى دورة الذكاء الاصطناعي. صحيح أنّ بعض الدروس والمسارات في دورة علوم الحاسوب مثل أنظمة التشغيل، وهياكل البيانات، وقواعد البيانات قد لا تبدو مرتبطة مباشرة بالذكاء الاصطناعي لكنها مع ذلك ستكسبك فهما عميقا لكيفية عمل الحاسوب والبرامج عموما وينصح بمن لا يمتلك خلفية عامة حول مجال علم الحاسوب أن يبدأ بهذه الدورة فهي صمّمت خصّيصا لهذا الغرض ولكي يجد الطالب نفسه مرتاحا عند التطرق لمواضيع أكثر تعقيدا في الدورات الأخرى كما أن فهم تلك المحاور سيكون مفيدا عند البدء في تطوير وتحسين نماذج الذكاء الاصطناعي عند التطبيق العملي. لكن في حال رأيت نفسك متمكنا من دروس الدورة ومساراتها يمكنك مراجعتها مراجعة خفيفة لمعرفة إن كنت قد استوعبت الدورة أم لا، وليكن بعلمك أنك لن تتمكن من الحصول على شهادة دورة علوم الحاسوب إلا إن أكملت أربع مسارات كاملة منها وقمت برفع المشاريع فهذا شرط أساسي لكل دورة. لذا يحبّذ إتمامها أولا، وفي حال أردت البدء في الدورة يمكنك دراسة مسارات البرمجة الكائنية، الخوارزميات وبنى المعطيات لكونها أساسية ثم ابدأ في دورة الذكاء الاصطناعي. ثم يمكنك العودة إليها فيما بعد وإتمامها حينما تكون مستعدا لذلك.
  19. وعليكم السلام ورحمة الله تعالى وبركاته، الأمر ليس ثابتا أو ينطبق على الجميع فهو يعتمد على أهدافك وخلفيتك بالنسبة للعديد من المتعلمين فهم يعتبرون لغة بايثون مناسبة تماما لفهم وتطبيق هياكل البيانات والخوارزميات لأن تركيبها الواضح والمختصر يتيح التركيز على المفاهيم الأساسية بسهولة بدلا من التفاصيل ذات المستوى المنخفض مثل إدارة الذاكرة وهذا يمكن أن يكون مفيدا بشكل خاص عندما تكون في بدايات تعلمك أو إذا كان هدفك الرئيسي هو تطوير التفكير الخوارزمي ومهارات حل المشكلات. من ناحية أخرى إذا كنت ترغب في فهم أعمق لما يحدث تحت الغطاء على سبيل المثال كيف تنفذ هياكل البيانات على مستوى الذاكرة، وكيف تعمل المؤشرات، وكيف تؤثر إدارة الذاكرة اليدوية على الأداء فإن تعلمها بلغة منخفضة المستوى مثل C ينصح به بشكل كبير وهذا ما كان يتم اعتماده في الجامعات التعليمية فهذه اللغة تجبرك على التعامل مع هذه التفاصيل، مما يرسخ فهمك لكيفية عمل الخوارزميات على مستوى أكثر أساسية لكن قد يكون التعقيد الإضافي في التعامل مع إدارة الذاكرة والمؤشرات مصدر تشتيت إذا كان تركيزك الأساسي هو تعلم المفاهيم الخوارزمية المجردة لذا يرجع الأمر في الأخير إليك.
  20. يمكنك إيجاد الإجابة المناسبة لاستفسارك من خلال هذا الرابط: في الأكاديمية وسائل الدفع المتاحة هي إما عن طريق البطاقة الإئتمانية أو PayPal، ولكن بطاقة الدفع يجب أن تكون من نوع Debit أو Credit وليس Prepaid أي ليست مسبقة الدفع، أو تستطيع ربط أي بطاقة بباي بال ثم الدفع عن طريق باي بال مباشرة. كما تُوفّر أكاديمية حسوب لزوارها إمكانية شراء بطاقة هدية ومشاركتها، ليتمكن متلقّي الهدية من استخدامها في التسجيل بالدورات المتوفرة في الأكاديمية يمكنك الاطلاع أكثر من هنا: https://support.academy.hsoub.com/how-to-buy-gift-card
  21. إذا كنت تميل إلى إتقان مجال واحد وتريد أن تصبح خبيرا فيه، فقد يكون التخصص هو الخيار المناسب ومع ذلك إذا كنت تستمتع بالتعلم بشكل واسع وترغب في العمل على مشاريع تجمع بين تقنيات الذكاء الاصطناعي المتعددة، فقد يكون تنمية المهارات في كلا المجالين أمرا جيدا. في الأغلب الكثير من المحترفين في هذا المجال يجدون أنفسهم يميلون إلى البدء بالتركيز على مجال معين ثم توسيع خبراتهم تدريجيا وهذا هو النهج الأفضل مع مرور الوقت وتوضيح اهتماماتهم المهنية، لذا يمكنك اختيار مجال محدد والتخصص فيه وهذا لا يعني أن لا تتطرق إلى مجالات أخرى، ففي رحلة تعلمك ستجد عدة مجالات تتقاطع مع مجالك التخصصي، ومن الجيد أن تكون لديك فكرة حولها، وحتى أن تكون ملما بها.
  22. وعليكم السلام ورحمة الله وبركاته، DeepLearning.AI هي شركة تكنولوجيا تعليمية متخصصة في مجال الذكاء الاصطناعي وتعلم الآلة بحيث تقدم الشركة دورات تعليمية عبر الإنترنت وتخصصات وموارد، مثل برنامج التخصص الرائد في التعلم العميق والدورة غير التقنية "الذكاء الاصطناعي للجميع"، وذلك بشكل أساسي من خلال منصات مثل Coursera.
  23. بالنسبة للكود الأول: data.drop(columns=data.loc[:, 'x_2':'z_40'].columns, inplace=True) فهو يحدد الأعمدة من 'x_2' إلى 'z_40' ثم يمرر قائمة أسماء الأعمدة الناتجة إلى دالة drop باستخدام معامل columns المخصص أما أما الكود الثاني: data.drop(data.loc[:, 'x_2':'z_40'], axis=1, inplace=True) فهو يمرر الجزء الفرعي من DataFrame وليس مجرد تسميات الأعمدة إلى دالة drop في Pandas تتوقع دالة drop أن يكون أول معامل لها هو التسمية أو قائمة التسميات وليس DataFrame على الرغم من أن Pandas قد يتسامح أحيانا مع الكائنات الشبيهة بالقوائم، فإن تمرير DataFrame بدلا من قائمة الأعمدة يكون أقل وضحا وقد يؤدي إلى أخطاء أو سلوك غير متوقع في بعض الحالات. من ناحية الأداء فكلاهما يؤديان نفس الوظيفة إلا أنّ الطريقة الأولى تعتبر أكثر كفاءة قليلا لأنها تستخرج قائمة أسماء الأعمدة الضرورية فقط بدلا من DataFrame فرعي كامل.
  24. وعليكم السلام ورحمة الله وبركاته، قم بفتح نافذة التشغيل من خلال الأمر Win + R ثم اكتب "cmd" واضغط Enter وستفتح لك نافذة موجه الأوامر، بعدها اكتب الأمر التالي: powercfg /batteryreport وستظهر لك رسالة تبدأ ب "Battery life report......." وستظهر أيضا مسارا للملف، انسخ مسار الملف والصقه في المتصفح وسيتم فتح تقرير البطارية، ابحث عن "DESIGN CAPACITY" و "FULL CHARGE CAPACITY" والفرق بينهما سيعطيك فكرة عن حالة البطارية. DESIGN CAPACITY: هي سعة البطارية عندما قمت بتشغيل اللاب توب لأول مرة، وهي السعة الكاملة التي تم تصميم البطارية لها. FULL CHARGE CAPACITY: هي السعة الحالية التي يمكن للبطارية الاحتفاظ بها بعد الشحن الكامل في الوقت الحالي، إذا كانت بطاريتك ضعيفة أو تالفة، فسيكون هذا الرقم منخفضا جدا الآن. وكحل كحل محتمل، قم بإيقاف تشغيل اللاب توب وافصل كابل الشحن عنه، ثم قم بإزالة البطارية واتركها خارجا لمدة لا تقل عن 5 دقائق خلال هذه الفترة، افتح اللاب توب واضغط مع الاستمرار على زر الطاقة لمدة 10 ثوان وهذا الإجراء سيزيل أي شحنات كهربائية متبقية في مكونات اللاب توب. بعد ذلك أعد تركيب البطارية، وصل كابل الشحن، ثم قم بتشغيل اللاب توب وتحقق مما إذا كان يشحن بشكل طبيعي واتركه ليشحن لبعض الوقت، ثم افصل كابل الشحن وتأكد مما إذا كان اللاب توب يبقى قيد التشغيل أو إذا كان لا يزال ينطفئ. فإذا انطفأ اللاب توب مباشرة بعد فصل الشاحن، فهذا يعني أن البطارية لا تعمل وغالبا ما تكون البطارية قد وصلت إلى نهاية عمرها الافتراضي ولم تعد تحتفظ بالشحن. أحيانا تتوقف بطاريات اللاب توب عن العمل بشكل مفاجئ بسبب حدوث دائرة كهربائية قصيرة داخل مكوناتها ورغم أن معظم البطاريات تكون متينة، إلا أن الحرارة الشديدة أو البرودة، أو ملامسة السوائل، أو التعرض لصدمة حادة نتيجة الاصطدام أو السقوط، يمكن أن تتسبب في تلف البطارية. هناك احتمال آخر وهو أن يكون موصل البطارية داخل اللاب توب تالفا يمكن أن يحدث ذلك لنفس الأسباب التي قد تتسبب في تلف البطارية نفسها. إذا لم تعد البطارية تحتفظ بالشحن وكان اللاب توب لا يزال ضمن فترة الضمان، يُفضل التواصل مع الشركة المصنعة والمطالبة بتصليح الضمان. أما إذا كان الضمان منتهيًا، فقد تحتاج إلى شراء بطارية بديلة.
  25. استخدام cv2.imwrite() هو المفضل عادة عندما تحتاج إلى الحفاظ على القيم الدقيقة للبكسل وجودة الصورة الأصلية، لأنه يكتب بيانات الصورة الخام مباشرة إلى الملف دون أي معالجة إضافية أو تنسيق، بينما plt.savefig() مصمّم لحفظ الأشكال الكاملة غالبا مع المحاور والعناوين وعناصر الرسم الأخرى وقد يدخل تعديلات مثل تغيير مقياس DPI، وإضافة الهوامش، أو حتى ظهور آثار ضغط خفيفة يمكن أن تؤثر على الجودة والدقة.
×
×
  • أضف...