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

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

  1. Ali Haidar Ahmad

    Ali Haidar Ahmad

    الأعضاء


    • نقاط

      9

    • المساهمات

      1068


  2. Ahmed Sharshar

    Ahmed Sharshar

    الأعضاء


    • نقاط

      3

    • المساهمات

      348


  3. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      2

    • المساهمات

      6975


  4. شادن الشطيطي

    شادن الشطيطي

    الأعضاء


    • نقاط

      2

    • المساهمات

      18


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

المحتوى الأعلى تقييمًا في 08/11/21 في كل الموقع

  1. السلام عليكم ورحمة الله وبركاته الاول انا عندي مشكلة في الإتصال بقاعدة البيانات دا الفورم <form action="fady.php" method="post"> <!-- P1NAMES --> <div class="row"> <div class="col-6"> <label for="p1firstname" class="text-light fw-bold"> موبايل </label> <input type="text" class="form-control mb-3" id="name"> </div> <div class="col-6"> <label for="p1lastname" class="text-light fw-bold">الاسم </label> <input type="text" class="form-control mb-3" id="mobile"> </div> </div> <!-- P2NAMES --> <div class="row"> <div class="col-6 mb-3"> <label for="p2firstname" class="text-light fw-bold"> الايميل </label> <input type="text" class="form-control " id="email"> </div> <div class="col-6 mb-3"> <label for="p2lastname" class="text-light fw-bold"> الدولة </label> <input type="text" class="form-control " id="eg"> </div> </div> <!-- CATEGORY, DISCIPLINE & RANK --> <!-- CATEGORY --> <div class="row"> <div class="col-md-4 mb-3"> <label for="category" class="text-light fw-bold"> اختر موقعك </label> <select name="category" id="eg1" class="form-control"> <option value="none">-- متجر الكتروني --</option> <option value="juv1"> شركة سياحة </option> <option value="juv2"> شركة عقارات </option> <option value="jun1"> مستشفي . عيادة </option> <option value="jun2"> مدرسة </option> <option value="youth"> مطعم </option> <option value="am"> مؤسسات خيرية </option> <option value="pro"> جيم . نادي </option> <option value="sen"> اخري </option> </select> </div> <!-- DISCIPLINE --> <div class="col-md-4 mb-3"> <label for="discipline" class="text-light fw-bold"> طريقة الدفع </label> <select name="discipline" id="eg2" class="form-select"> <option value="none">-- فيزا --</option> <option value="bal"> باي بال </option> <option value="lat"> فودافون كاش </option> </select> </div> <!-- RANK --> <div class="col-md-4 mb-3"> <label for="rank" class="text-light fw-bold"> الدومين </label> <select name="rank" id="eg3" class="form-control"> <option value="none"> .com </option> <option value="H"> .net </option> <option value="F"> .tv</option> <option value="E"> .mobi </option> <option value="D"> .eg </option> <option value="C"> .org </option> <option value="all"> .app </option> </select> </div> </div> صفحة الإتصال <?php // إستقبال البيانات القادمة من الحقول في صفحة mok3.html if ($_SERVER["REQUEST_METHOD"] == "POST") { $mobile = $_POST["mobile"]; $name = $_POST["name"]; $email = $_POST["email"]; $eg = $_POST["eg"]; $eg1 = $_POST["eg1"]; $eg2 = $_POST["eg2"]; $eg3 = $_POST["eg3"]; $eg4 = $_POST["eg4"]; } // معلومات الإتصال بقاعدة البيانات $servername = "localhost"; $username = "fady"; $password = "xFB*FM7KDJPYp"; $dbname = "_elshplawy"; // إنشاء الإتصال $conn = mysqli_connect($servername, $username, $password, $dbname); // إختبار الإتصال if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO mytable (mobile, name, email, eg , eg , eg1 , eg2 , eg3 ,eg4) VALUES ('$mobile','$name','$email','$eg','$eg1','$eg2','$eg3','$eg4')"; if (mysqli_query($conn, $sql)) { echo "تم إرسال معلومات بنجاح"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?> ودي صفحة الاتصال ودا الي بيظهر ممكن افادة
    1 نقطة
  2. ماذا سيكون محتوى الامتحان كيف سيكون هل يمكن ان اخذ معلومات عنه
    1 نقطة
  3. انا خلصت دورة html هل فيها امتحان ؟؟؟؟
    1 نقطة
  4. نعم يمكنك استخدام keras على ال GPU حيث انها تدعم كلا من CPU و GPU، لكن هناك بعض اشياء يجب التحقق منها اولا: يجب أن يحتوى جهازك على كارت شاشة GPU ( يجب ان يكون من نوع nvidia وليس amd حيث انه يدعم nvidia فقط) يجب أن تقوم بتحميل ال driver الخاص بكارت الشاشة الخاص بك من tensorflow يجب ان تقوم بتحميل cuda ، يمكنك تحميله من هنا يجب أن تتاكد ان tensorflow يعمل على ال gpu الخاص بك عنك طريق تشغيل الكود الاتي: sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) هذا سيجعل tensorflow يبدأ العمل على الجهاز. يمكنك كذلك تشغيل الكود التالي لتفعيله والتأكد: from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) والخرج يجب أن يكون كالتالي: [ name: "/cpu:0"device_type: "CPU", name: "/gpu:0"device_type: "GPU" ] اذا ظهر كذلك فان كل شئ يعمل بشكل جيد. يمكنك بعد ذلك تفعيل keras بالكود التالي: from keras import backend as K K.tensorflow_backend._get_available_gpus() الان يمكنك استعمال keras للتدريب على ال gpu بدل ال cpu.
    1 نقطة
  5. أتساءل حول كيفية إضافة كتب ومقالات جديدة في البرمجة ؟
    1 نقطة
  6. SVM هي خوارزمية تعلم تستخدم بشدة في تعلم الالة وتستعمل في بشكل اساسي في عمليات التصنيف التصنيف. SVM مبنية على فكرة إيجاد مستوي hyperplane والذي يقوم بتقسيم البيانات الى عدة اجزاء منفصلة بحيث يمثل كل جزء منهم class او تصنيف معين من البيانات.وتعتبر أقرب نقطتين للمستوي الفائق الذي تقوم برسمه ال SVM هي المتجهات الداعمة او support vector كما هو موضح في الصورة التالية: المتجهات الداعمة أو support vector المتجهات الداعمة هي النقاط الأقرب للمستوي الفائق hyperplane وهي النقاط التي اذا قمنا بإزالتها من البيانات ستغير من موقع المستوي الفائق والذي سيغير من شكل البيانات المفصولة. لذلك يمكن اعتبار هذه النقاط أنها العناصر الاهم في البيانات. تحديد المستوي الفائق الانسب: نقوم بتحديد المستوى الفائق الانسب عن طريق اختيار اكثر مستوى نستطيع ان نقسم به البيانات بشكل سليم. ويكون ذلك عن طريق اختيار مستوى يجعل المسافة بينه وبين أقرب نقطة في كل مجوعة من البيانات اكبر ما يمكن. تسمي المسافة بين المستوي الفائق و أقرب نقطة من كل مجموعات البيانات بالهامش (margin). والهدف من هذا هو زيادة احتمالية التصنيف الصحيح للبيانات الجديدة. أنظر الي الشكل التالي للتوضيح. إيجابيات و سلبيات آلة المتجهات الداعمة الإيجابيات الدقة والنتائج المرتفعة تعمل جيداً على مجموعات البيانات الصغيرة. تظل فعالة في الحالات التي يكون فيها عدد الأبعاد أكبر من عدد العينات. السلبيات لا تصلح لمجموعات البيانات الكبيرة حيث أن المدة اللازمة لتدريبها عالية تعتبر أقل فعّالية مع البيانات الأكثر غير المفصولة جيدا والتي يكون فيها تداخلا بين ال classes. تستعمل SVM في مهام تصنيف النصوص مثل تصنيف المواضيع وتمييز الرسائل المزعجة وتحليل المشاعر تستعمل في التعرف على الصور. تستعمل في مجالات تمييز الأرقام المكتوبة يدوياً.
    1 نقطة
  7. هل كل دوره عند انتهائها يوجد اختبار او لابد انهاء جميع الدورات ؟؟؟؟؟؟؟
    1 نقطة
  8. اريد ان يظهر لي ALERT بعد الضغط على اي تاغ من نوع (i) ,, مع العلم انني استخدم JS HTML DOM لخلقها كما هو موضح بالjs HTML <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="pro2.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"> <!-- @import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"); --> <!-- <i class="bi bi-x-square-fill"></i> --> </head> <body> <div id="parent"> <div id="up"> <i class="bi bi-x-square-fill" id="ii"></i> <h1>Add New Task</h1> <input type="text" id="addinput" placeholder="New Task"> <div id="bdiv"> <button onclick="newTask()">Add task</button></div> </div> <div id="down"> <h1>Filter Tasks</h1> <input type="text" id="filter" placeholder="filter Tasks"> </div> <div id="tasks"> <h2>List Of Tasks</h2> </div> <button class="zz">Clear tasks</button> </div> <script src="pro2.js"></script> </body> </html> JS let id=0; const tasks=document.getElementById('tasks'); function newTask(){ id++; let v1=document.getElementById("addinput").value; localStorage.setItem(id,v1); //new div in tasks let newdiv=document.createElement('div'); tasks.appendChild(newdiv); newdiv.setAttribute("id", "task"); //new h1 in newdiv let newh3=document.createElement('h3'); let newtext=document.createTextNode(localStorage.getItem(id)); newh3.appendChild(newtext) newdiv.appendChild(newh3); newh3.setAttribute("id", "h3"); //new i in newdiv let newi=document.createElement('i'); newdiv.appendChild(newi); newi.setAttribute("class", "bi bi-x-square-fill"); } document.querySelectorAll("i").addEventListener("click",icon) function icon(){ alert('are u shure'); // const newicon=document.getElementById('bi'); // newicon.parentNode.removeChild(newicon); }
    1 نقطة
  9. بما أن عقد i تضاف ديناميكياً فقبل إضافتها أي قبل استدعاء التابع newTask هي غير موجودة ضمن document لذلك التعليمة التالية: document.querySelectorAll("i").addEventListener("click",icon) لن تعمل، فلنزلها وننظر أين نقوم بإضافة عقدة i إلى document ؟ هنا: //new i in newdiv let newi=document.createElement('i'); newdiv.appendChild(newi); newi.setAttribute("class", "bi bi-x-square-fill"); هنا يمكننا تعريف onclick بإحدى طريقتين إما: //new i in newdiv let newi=document.createElement('i'); newdiv.appendChild(newi); newi.setAttribute("class", "bi bi-x-square-fill"); newi.onclick = icon; أو نستخدم addEventListener هكذا: //new i in newdiv let newi=document.createElement('i'); newdiv.appendChild(newi); newi.setAttribute("class", "bi bi-x-square-fill"); newi.addEventListener('click',icon); وعلى فكرة يمكن جعل appendChild في النهاية هكذا: //new i in newdiv let newi=document.createElement('i'); newi.setAttribute("class", "bi bi-x-square-fill"); newi.addEventListener('click',icon); newdiv.appendChild(newi); فقد جرت العادة أننا نجهز العقدة أولاً ثم نضيفها إلى document. المعنى من كل هذا أن ناتج الدالة document.createElement هي عقدة DOM تملك جميع خصائص DOM بما في ذلك onclick حتى ولو لم تضف إلى document بعد أي لم تضف إلى الواجهة التي تظهر للمستخدم.
    1 نقطة
  10. شكرا جزيلا .. قمت بحلها لاننى كنت اعطى ايقونة هده الخاصية
    1 نقطة
  11. يبدو أنك نسيت ان تكتبت مسار الملف ProjectController بشكل كامل, يجب ان يكون مسار الملف على هذا الشكل App\Http\Controllers\ProjectController; فيكون شكل المسار كالآتي Route::نوع الطلب('عنوان المسار', [App\Http\Controllers\ProjectController::class,'اسم الدالة']); أو يمكنك استدعاء الملف في أعلى ملف web.php كالآتي use App\Http\Controllers\ProjectController; ثم عند كتابة المسار يمكنك كتابته كالآتي Route::نوع الطلب('عنوان المسار', [ProjectController::class,'اسم الدالة']); ^^^^^^^^^^^^^^^^^^^^^^^^^ اذا كان نوع المسار resource يمكنك كتابته كالتالي Route::resource('اسم المسار', projectController::class);
    1 نقطة
  12. أحد مكونات العرض يستخدم الخاصية resizeMode لعنصر Text حاول حذفها. أو انقلها من styles إلى imageStyle prop مباشرة كمثال: class CoolBackgroundImage extends Component { render() { <ImageBackground source={{uri: 'link-to-image'}} imageStyle={{resizeMode: 'stretch'}} /// هنا style={Style.someAdditionalViewStyles} > <View style={Style.container}> <Text>This is a child of the ImageBackground!</Text> </View> </ImageBackground> } } هذا التعديل أصبح مطلوب بعد اتحديث عن إصدار 0.48
    1 نقطة
  13. انا اعمل على مشروع و يظهر هذا الخطئ
    1 نقطة
  14. مرحبا استخدمت الخاصية animation من اجل تحريك ايقونة العربة من اليسرى الى اليمنى ولكن عندما وضعت لها background خرجت الخلفية بعد وصولها الى الجهة اليمنى خارج الصندوق أي الاب الذي بداخله العربة حاولت حلها بوضع الحشو padding-right :0px; لكن لم تنجح معي هذا هو الملف وشكراً learnBootstrap.html
    1 نقطة
  15. السلام عليكم , لو اريد إنشاء قاعدة البيانات لتطبيق تسوق (متجر), خططت له كتالي : جدول User جدول Product جدول cart او سلة التسوق لا ادري , هل ممكن معلومات اكثر او اين اطلع على الموضوع جيدا شكرا
    1 نقطة
  16. وعليكم السلام @Brahim Semmani يمكنك عمل عمل ذلك من خلال عمل Sequelize مودل ثم نقوم بإستدعاءها وتنفيذ العمليات التي نريدها عليها من خلال إستخدام Sequelize ميثودز سواء للحذف أو الإضافة أو تحديث ,الأن لعمل جدول Products من خلال Sequelize مودل نقوم بعمل Sequelize مودل بإسم فليكن product.model.js في مجلد models ثم نقوم بإضافة الحقول وخصائصها لهذا الشكل module.exports = (sequelize, Sequelize) => { const Product = sequelize.define("product", { title: { type: Sequelize.STRING }, price: { type: Sequelize.DOUBLE }, description: { type: Sequelize.STRING }, published: { type: Sequelize.BOOLEAN } }); return Product; }; بعد أن نقوم بعمل ذلك عند عمل Initialize أو تفعيل لتلك المودل من خلال إستدعائها مثلاً في ملف index.js سيتم عمل الجدول وأعمدته بشكل تلقائي التي قمنا بإضافتها إلى المودل أعلاه ,لن نحتاج إلى كتابة ال CRUD فنشكنز لأن Sequelize تدعهمهن كلهن بشكل تلقائي فقط سنقوم بإستدعاء المودل في الكونترولر الخاص بنا وإستخدام إحدى الفنشكنز التي نحتاجها على حسب طبيعة التطبيق ويوجد العديد من تلك الفنشكنز يمكنك الإطلاع عليها وعلى Sequelize بشكل عام من هنا
    1 نقطة
  17. السلام عليكم , ماهي افضل طريقة للتحقق في تطبيق رياكت من انه مستخدم عادي او مسؤؤل ؟ هل يجب ان نضع خانة إضافية في جداول قاعدة البيانات في models مع name ,email , password مثلا بإسم isAdmin و تحمل قيمة منطقية , ونتحقق منها في الواجهة ليتم عرض ما يناسبه و بالنسبة لتغيير الحالة isAdmin من true الى fase , يجب ان تكون هناك رتبة أعلى بحيث ينح true الى isAdmin حيث شاء , ارجوا مساعدتي بخصوص هذ الموضوع
    1 نقطة
  18. السلام عليكم @Brahim Semmani يوجد عدة طرق لذلك , لكن سأذكر الطريقة الأفضل ,يمكننا عمل ذلك من خلال إضافة حقل فليكن role لجدول المستخدمين وأيضاً نقوم بعمل جدول بإسم roles هذا الجدول يحوي فليكن حقلين حقل id وحقل اسم الدور او ال role ثم نضيف له دورين دور admin ودور user بعد ذلك عند تسجيل أي مستخدم جديد نقوم بإعطاءه دور user بشكل تلقائي وهذه القيمة يتم تخزينها في حقل role الذي قمنا بإضافته في جدول المستخدمين بعد ذلك ببساطة ما سنقوم به في التطبيق هو فقط التأكد من أن المستخدم هو admin أو user ثم نقوم بعرض ما يتناسب معه له ,هذه الطريقة الأفضل سواء لتطبيقات أو مواقع لعمل صلاحيات للمستخدمين
    1 نقطة
  19. السلام عليكم إخواني الاعزاء..هل يمكن إضافة stored procedure للإضافه و التعديل و الحذف لموقع سوق إلكتروني علمآ ان الموقع جاهز بدون stored procedure ؟
    1 نقطة
  20. إن GET هي مصفوفة عامة تخزن فيها بيانات الطلبيات التي يرسلها الزبون (المتصفح) للمخدم والتي تكون حصراً من نوع GET وهي مرتبطة بالطلبية، أي ممكن أن يتم حذف محتواها، تأكد من أن المصفوفة GET تحوي القيمة المطلوبة مثلا بعمل جملة طباعة عادية echo وتابع محتوى المصفوفة، أعتقد أنه يتطلب حفظ هذه القيمة بمتغير آخر أو قاعدة البييانات أو الجلسة session، لا يتم حفظها. أي ربما GET في لاتحوي قيمة لذلك يحدث الخطأ، احفظ البيانات بطريقة مختلفة، محتوى GET متغير
    1 نقطة
  21. الشبكة العصبونية التلافيفية CNN هي طريقة من طرق التعلم العميق والتي تستخدم بشكل اساسي في تصنيف الصور وتستخدم احيانا في الاشارات signals. تقوم ال cnn على عدد من العمليات المتتابعة وهي كالتالي: عملية استخلاص الخصائص عبر عملية الالتفاف convolution: حيث نقوم بعمل filter يقوم بمسح الصورة خطوة بخطوة واستخلاص العناصر المميزة فيها ، يمكن تكرار تلك الخطوة اكثر من مره وفي كل مره نغير من حجم ال filter، انظر الgif التالي للتوضيح: الخطوة الثانية هي طبقة ال pooling : والتي نقوم فيها باختيار عناصر محددة من المصفوفات التي قمنا باستخراجها من الخطوة السابقة، وذلك من أجل السرعة والحجم وكذلك الدقة. وهنا نقوم باختيار اما اكبر العناصر في حجم مصفوفة معين max_pooling او ناخذ المتوسط average_pooling. انظر الصورة التالي للتوضيح: الطبقة الاخيرة وهي طبقة التواصل الكلي dense layer والتي نقوم فيها بجمعكل الخصائص التي قمن باستخلاصها من المراحل السابقة للقيام بعملية الاختيار classification، انظر الصورة التالية:
    1 نقطة
  22. تظهر هذه المشكلة لأن TensorFlow أو Keras لا يمكنها العمل مع h5py v3 والإصدارات الأحدث. لذا قم بتثبيت نسخة أقدم منها كالتالي: pip install 'h5py==2.10.0' --force-reinstall ثم أعد تشغيل الKernal (أي قم بإغلاق المحرر وأعد تشغيله أو قم بإعادة تشغيل الحاسب) غالباً سوف يتم جعل تنسرفلو وكيراس يعملان مع النسخ الأحدث منها قريباً.
    1 نقطة
  23. في جافا: package javaapplication19; import java.util.*; public class JavaApplication19 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); // إدخال عدد الأسطر وعدد الأعمدة int rows=sc.nextInt(); int cols=sc.nextInt(); // تعريف مصفوفة من الأعداد الصحيحة int arr[][]=new int[rows][cols]; // إدخال العناصر for(int i=0; i<rows;i++) { for(int j=0; j<cols;j++) { arr[i][j]=sc.nextInt(); } } int sumC=0,sumR=0; // مجموع كل سطر for(int i = 0; i < cols; i++){ sumR=0; for(int j = 0; j < rows; j++){ sumR = sumR + arr[i][j]; } System.out.println("row"+(i+1)+": " + sumR); } // مجموع كل عمود for(int i = 0; i < cols; i++){ sumC=0; for(int j = 0; j < rows; j++){ sumC = sumC + arr[j][i]; } System.out.println("column"+(i+1)+": " + sumC); } } } بايثون: #تعرف مصفوفة import numpy as np # إدخال عدد الأسطر فقط r=int(input()) # إدخال عناصر المصفوفة arr = [list(map(int,input().split())) for i in range(r)] # حساب مجموع عناصر كل عمود for i in range(0, r): sum_ = 0; for j in range(0, c): sum_ = sum_ + arr[j][i]; print(" column"+str(i+1)+": " + str(sum_)); print("\n") # حساب مجموع عناصر كل صف for i in range(0, r): sum_ = 0; for j in range(0, c): sum_ = sum_ + arr[i][j]; print(" row"+str(i+1)+": " + str(sum_)); هناك طرق أخرى للإدخال في بايثون لكنني أخترت لك طريقتي التي كنت استخدمها (وهي الأفضل) في مسابقات البرمجة التنافسية وعلى موقع CodeForces لكن انتبه، هنا يكون إدخال عناصر المصفوفة بشكل مختلف قليلاً حيث يتم الإدخال سطر سطر ولهذا السبب لم نطلب إدخال عدد الأعمدة.أي مثلاُ حددنا 3 أسطر وبالتالي ندخل قيم كامل السطر الأول دفعة واحدة ونفصل بينهم بفراغات، أي مثلاً: 1 2 3 ثم نضغط enter ثم 5 6 4 ثم Enter ثم 4 6 6 ثم Enter وبالتالي نكون أدخلنا مصفوفة ب 3 أسطر و 3 أعمدة.
    1 نقطة
  24. يمكنك معرفة ذلك من خلال التعليمة التالية: model.count_params() مثال: model = Sequential() model.add(Embedding(1000, 50, input_length=30, trainable=True)) model.add(GRU(150, recurrent_dropout=0.1, dropout=0.1)) model.add(Dense(10, activation='softmax')) model.count_params() #142410 ويمكنك أيضاً استخدام: model.summary() حيث تعطيك الطريقة الثانية ملخص كامل عن الطبقات الموجودة في نموذجك وعدد المعاملات في كل منها وأبعاد كل طبقة والمعاملات القابلة للتدريب والغير قابلة للتدريب. # مثال model = Sequential() model.add(Embedding(1000, 50, input_length=30, trainable=True)) model.add(GRU(150, recurrent_dropout=0.1, dropout=0.1)) model.add(Dense(10, activation='softmax')) model.summary() Model: "sequential_2" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= embedding_1 (Embedding) (None, 30, 50) 50000 _________________________________________________________________ gru_1 (GRU) (None, 150) 90900 _________________________________________________________________ dense (Dense) (None, 10) 1510 ================================================================= Total params: 142,410 Trainable params: 142,410 Non-trainable params: 0 _________________________________________________________________
    1 نقطة
  25. هذا الخطأ شائع ومثير للحيرة عند المبتدئين، المشكلة في ال input_shape حيث يجب أن يحتوي 3 أبعاد فقط والبعد الرابع يقوم بإضافته كيراس تلقائياً ويمثل بعد الدفعة batch_size، لكن أنت أضفت البعد الرابع الذي يمثل ال batch وبالتالي أضاف كيراس بعداً آخر فأصبح لدينا 5 أبعاد، لذلك لايجب أن نضيف البعد الرابع والذي يمثل ال batch أي الحل يكون فقط بتغيير الinput_shape كالتالي: input_shape=(32,32,1)
    1 نقطة
  26. اذهب إلى التيرمينال ونفذ الأوامر التالية: conda uninstall PIL conda uninstall Pillow conda install Pillow ثم: conda install keras conda install tensorflow وأخيراً قم بإغلاق كل شيء ثم أعد تشغيل الجوبيتر.
    1 نقطة
  27. الطبقة الكثيفة أو "Dense" هي مجرد طبقة مكونة من وحدات منتظمة نسميها خلايا عصبية في الشبكة العصبية. تتلقى كل خلية عصبية مدخلات من جميع الخلايا العصبية في الطبقة السابقة، وبالتالي نقول عنها "متصلة بكثافة" أو "Densely Connected". تحتوي هذه الطبقة على مصفوفة وزن W ومتجه يمثل الانحراف b بالإضافة لخرج الطبقة السابقة أي خرج تنشيط الطبقة السابقة a. هذه الطبقة تؤدي العملية التالية (حسب وثائق كيراس): output = activation(dot(input, kernel) + bias) حيث أن ال activation هو تابع التنشيط المستخدم. و ال kernel هي مصفوفة الأوزان الخاصة بهذه الطبقة وال bias هو الانحراف "weights matrix". لها الشكل التالي: keras.layers.Dense( units, activation=None, use_bias=True, kernel_initializer="glorot_uniform", bias_initializer="zeros", ) حيث أن units هي عدد الخلايا في الطبقة، و activation هو تابع التنشيط، و use bias لتحديد فيما إذا كنت تريد تفعيل الانحراف أم تجاهله، kernel_initializer مُهيئ لمصفوفة أوزان النواة. bias_initializer أيضاً نفس الأمر لكن لشعاع الانحراف. وعادةً نتركهم على الحالة الافتراضية أي انسى أمرهم، فلا أحد يغيرهم. أما دخل هذه الطبقة هو : (batch_size, ..., input_dim) أي N-D tensor لكن غالباً يكون الإدخال 2D من الشكل (batch_size, input_dim). أما الإخراج (batch_size, ..., units) وفي حالة 2D يكون الخرج (batch_size, units). مثال: #Dense ثم أضفنا طبقات Sequential قمنا بإنشاء نموذج من النوع model = tf.keras.models.Sequential() # 16 نحدد دخل النموذج ب (None, 16) model.add(tf.keras.Input(shape=(16,))) #relu تعريف طبقة كثيفة ب32 خلية وتابع تنشيط model.add(tf.keras.layers.Dense(32, activation='tanh')) # الخرج سيكون(None, 32). # طبعاً بعد أول طبقة لاداعي لتحديد أبعاد المدخلات إذ يتم استنتاجهم تلقائياً # طبقة أخر model.add(tf.keras.layers.Dense(32)) # أبعاد الإخراج model.output_shape (None, 32)
    1 نقطة
  28. الخوارزمية الجشعة هي الخوارزمية التي تبني الحل خطوة خطوة أو قطعة قطعة وتعتمد على اختيار الخيار الأمثل (يعظم الربح) عند كل نقطة اختيار, أي أنها تخلق خيار مثالي محلي على أمل أن هذا السلوك سيقودنا الى حل مثالي شامل (أي حل مثالي لكامل المسألة). كما أنه لا يمكننا اثبات صحة حل مسألة تعتمد على الخوارزمية الجشعة ولكن يكفي إعطاء مثال لإثبات أن الخوارزمية خاطئة. لنأخذ المثال التالي ولنحاول حلها بطريقة الخوارزمية الجشعة: لنفرض لدينا قاعة وعدد من المقررات التي نريد اعطاء محاضرة منها في هذه القاعة مع توقيت بداية و نهاية كل من هذه المحاضرات والمطلوب ما هو أكبر عدد من الأنشطة او المحاضرات التي نستيطع القيام بها في هذه القاعة؟ تذكر أن يكفي إعطاء مثال لاثبات ان الخوارزمية خاطئة. 1_سنحاول حل هذه المسألة بختيار الأنشطة ذات الامتداد الزمني(توقيت النهاية-توقيت البداية) الأقصر,ولكن هذه الفكرة خاطئة ويمكن اعطاء هذا المثال لاثبات ذلك: النشاط الاول من 8 الى 11. النشاط الثاني من 10:30 الى 12. النشاط الثالث من 11:30 الى 3. بناءان على الفكرة السابقة سيتم اختيار النشاط الثاني فقط بينما من الأفضل اختيار النشاطين الأول و الثالث. 2_سنحاول هذه المرة باختيار الأنشطة ذات الزمن البداية الأصغر,ولكن هذه الفكرة خاطئة ايضا ويمكن اعطاء هذا المثال لأثبات ذلك: النشاط الأول من 8 الى 1. النشاط الثاني من 9 الى 10. النشاط الثالث من 10 الى 11. النشاط الرابع من 11:30 الى 12:30 بناءان على الفكرة السابقة سيتم اختيار النشاط الأول فقط بينما من الأفضل اختيار النشاط الثاني و الثالث و الرابع. إذاً ما هي فكرة حل هذه المسألة؟ يتم حل هذه المسألة بأخذ الأحداث التي تنتهي أولا مع مراعاة عدم تداخل تواقيتها، أي أقوم بترتيب الأنشطة حسب زمن انتهائها (من النشاط الذي ينتهي أولا الى النشاط الذي ينتهي اخيرا) ثم أقوم بأخذ النشاط الذي ينتهي أولا و من ثم أبحث عن اول نشاط يبدأ بعد انتهائه(كي لا يحدث تداخل في تواقيت الأنشطة) ومن ثم أبحث عن أول نشاط يبدأ بعد انتهاء أخر نشاط أخذناه وهكذا... ويكون pseudocode الخاص بالمسألة كالتالي: input: n activities output: a max size subset of compatible activities sort activities by increasing finish time A1,A2,A3 where F1<F2<F3<..<Fn E<-{1} T<-F1 for i=2 to n do { if(Si>=T)then { add i to E T<-Fi } } output E
    1 نقطة
  29. بشكل افتراضي وتلقائي، يتم تشغيل طبقة التضمين على ال GPU في حال كانت متوفرة، من أجل الحصول على أفضل أداء، هذا يعني أن مصفوفة التضمين "embedding matrix"ستم وضعها في ال GPU وهنا قد تنتج المشكلة في حال كانت مصفوفة التضمين ضخمة وبالتالي لايمكن عمل fitting لها في ال GPU فيظهر هذا الخطأ، ولحل هذه المشكلة يجب أن تقوم بوضعها في ال "CPU memory" ويمكنك القيام بذلك بالشكل التالي: with tf.device('cpu:0'): embedding_layer = Embedding(...) embedding_layer.build() ثم بعد ذلك يمكنك أن تضيفها إلى نموذجك بالشكل التالي: model.add(embedding_layer) # Wherever_there_is_artificial_intelligence,_there is me
    1 نقطة
  30. في مسائل التصنيف المتعدد يجب أن تكون حذراً مع اختيار دالة الخسارة، والمشكلة هنا هي في اختيارك لدالة الخسارة، فعندما تكون بيانات y_true مرمزة بترميز One-Hot يجب أن نختار categorical_crossentropy أما إذا كانت بيانات y_true تتبع ترميزاً عادياً (أي كل صنف تم تمثيله بعدد صحيح 1,2,3...,class_n) فهنا يجب أن نختار دالة الخسارة sparse_categorical_crossentropy.
    1 نقطة
  31. في برمجة ملف التنسيق css أجد أن لا فرق بين visiblity:hidden و display:none لأن العنصر يختفي في كلا الحالتين، فهل من اختلاف بين الخاصيتين - أتحدث عن الجانب التقني - أم أنهمامتشابهان؟
    1 نقطة
×
×
  • أضف...