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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. اليوم
  3. طيب انا هصور لحضرتك دلوقتي بس بي بيظهر عندي البيئه الاساسيه بس مع العلم انا عمل بيئه افترضيه اسمها project0 بس سوال هل الازم يكون مسار البيئه الافترضيه موجود في نفس مسار البئيه الاساسي ؟
  4. لا عند الضغط عليها يعطيك خيار إضافة بيئة جديدة أو إختيار من البيئات الإفتراضية التي لديك . ويجب أن يظهر خيار recommended حيث يقوم vs code تلقائيا بمعرفة البيئة الحالية :
  5. ايوه انا بضغظ عليها فا بيظهر انا اعمل بيئه افترضيه ولكن انا اصل عمل بيئه فا ازي اضيفها ؟ يعني ممكن حضرتك تعمل بيئه افترضيه وضافه كده
  6. اريد شراكة شخص له خبره فى مجال بيع الملابس انا ادفع كامل راس المال وهو البيع والاداره فقط هل يكون له راتب شهرى ( وكم الراتب الشهرى) وكم نسبته من صافى الربح وفى حالة الخساره ما الذى يتحمله هو
  7. هذا لأنك لم تحدد البيئة التي من المفترض أن يعمل عليها vs code وإضافة pylint الخاصة بإظهار الأخطاء ووضع الخطوط مثل الخط الأصفر والإقتراحات الخاصة بالأكواد. ولتغير البيئة ستجد في الصفحة في الأسفل أقصى اليمين كلمة python وبجوارها البيئة التي يعمل عليها vs code ولتغيرها كل ما عليك هو الضغط عليها وإختيار البيئة التي تريدها : إذا كان يظهر لك رقم كما في الصورة السابقة فهذا يدل على أن vs code يعمل على البيئة الأساسية للنظام لذلك يرجى الضغط عليه وستظهر لك جيمع البيئات الإفتراضية و الأساسية لديك ويمكنك إختيار البيئة المناسبة لك.
  8. أهلاً كمال , يوجد عدة مواقع ذكاء اصطناعي ، لكن أفضل ما وجدته بالفعل هو المواقع التالية : ChatGPT : يوفر لك GPT-3.5 مجاني ، كما يوفر الوصول الى 4 بشكل محدود وارفاق صور وتحليلها. Geminial Gemini Google هذه من أفضل مواقع الذكاء الاصطناعي يمكنك استخدامها
  9. ممكن مساعدتي احتاج مواقع الذكاء الاصطناعي ماهي افضل المواقع؟
  10. مرحبًا، النتيجة جيدة نوعًا ما في حال نظرت إليها بشكل مجرد. و لكن من الناحية المجردة أيضًا، من الأفضل النظر إلى الدقة على بيانات التدريب، و الدقة على بيانات الاختبار ، و ليس فقط على بيانات الاختبار. فهذا يساعدك على كشف مشاكل ال overfitting. كما أن معيار الدقة فقط لوحده غير جيد، حيث أنه عليك التفكير في المهمة التي تقوم ببناء النموذج لها، و هل هذا المعيار جيد أم لا؟ في أغلب المهام التي تتعلق بالأمور الطبية، ما يهمنا بشكل كبير هو كشف المرض في حال وجوده، حتى لو كان النموذج أسوء قليلًا من ناحية أنه يكشف مرض غير موجود، أي يكون الشخص سليم و لكنه يقول أنه مريض. و هذا يمكنك قياسه عن طريق معياري precision و recall. السبب في أننا نريد دقة عالية هو أنه بشكل عام يتم استعمال النماذج كأداة مساعدة للطبيب، أو أنه يمكنك توقع أن يقوم شخص عادي باستخدامه، ففي حال كان هناك شك ولو طفيف، أنت تريد أن تظهر له أن عليه مراجعة طبيب، حتى لو كان لا يحتاج إلى ذلك. فهذا أفضل من أن يكون مريضًا و تظهر له أنه لا يحتاج إلى مراجعة الطبيب. كما أنه يجب عليك المقارنة مع أشخاص أخرين عملوا على نفس المهمة، لمعرفة ما توصلوا له و هل نموذج جيد مقارنة بهم أم لا. ففي بعض المهام تعتبر دقة 60 بالمية ممتازة (كمهام التعرف على الأغراض من صور الأقمار الصناعية)، أما في مهام أخرى فإن أي نتيجة أقل من 90 غير جيدة (كأغلب مهام التصنيف الخاصة بالصور). أي ما يهم أن تفكر فيما وراء الأرقام و هل هي تعكس الأداء الذي تريد قياسه أم لا. تحياتي.
  11. السلام عليكم انا عمل نموذج لتصنيف مرض القلب باستخدم الشبكه الاعصبيه وده الكود وده البيانات الانا شغل علها x = heart.drop(['target'] , axis=1) y = heart['target'] x_traing , x_test , y_traing , y_test = train_test_split(x , y ,test_size=0.25,random_state=44,shuffle=True) #print(f"X taring shape is: {x_traing.shape}") #print(f"X test shape is: {x_test.shape}") #print(f"Y taring shape is: {y_traing.shape}") #print(f"Y test shape is: {y_test.shape}") kerasmodle = keras.models.Sequential([ keras.layers.Dense(8, activation='tanh'), keras.layers.Dense(128,activation='tanh'), keras.layers.Dense(64,activation='tanh'), keras.layers.Dense(1,activation='sigmoid'), ]) myoptimizer = tf.keras.optimizers.AdamW( learning_rate=0.001, weight_decay=0.004, beta_1=0.9, beta_2=0.999, epsilon=1e-07, amsgrad=False, clipnorm=None, clipvalue=None, global_clipnorm=None, use_ema=False, ema_momentum=0.99, ema_overwrite_frequency=None, loss_scale_factor=None, gradient_accumulation_steps=None, name='Adamw', ) kerasmodle.compile(optimizer=myoptimizer,loss='binary_crossentropy',metrics=['accuracy']) #Trinag trinag_modle = kerasmodle.fit(x_traing,y_traing, validation_data=(x_test,y_test), epochs=100, batch_size=10000, verbose=1, callbacks=tf.keras.callbacks.EarlyStopping( patience=10, monitor='val_accuracy', restore_best_weights=True, )) #print(kerasmodle.summary()) y_pred = kerasmodle.predict(x_test) moduleloos,modleaccuracy = kerasmodle.evaluate(x_test,y_test) print(f"modle loss is: {moduleloos}") print(f"modle accuracy is : {modleaccuracy}") وده الloss و accoracy modle loss is: 0.5819184184074402 modle accuracy is : 0.744966447353363 فا انا عاوز اعرف هل كده النموذج كويس ؟ heart.db
  12. تمام , الف شكرااا لحضرتك جدا انا حصل مشكله بس استخدمات الامرد ده فا تمام اشتغل بس هل ام اقفل البرنامج VScod لاو اقفل الكبيوتر هل اعمل الامرد ده تاني ؟ بس يا أ. عبد الوهاب انا كده شغلت الملف بس برد بيظهر تحت المكتابات خط اضفر كده علي اساس المكتابات ده مش موجود هي مش موجود علي النظام ولكن موجود علي البيئه الافترضيه فا هل فيه حل لحاجه زي كده
  13. المشكلة التي تواجهها هي أنك تحاول استخدام أمر source الذي يتم استخدامه في بيئة Linux، بينما على Windows يستخدم أمر مختلف لتنشيط البيئة الافتراضية. لذا إذا كنت تستخدم cmd يجب أن تستخدم هذا الأمر: Heart-Disease\Scripts\activate أما إذا كنت تستخدم PowerShell وهو على الأرجح في حالتك على VS Code: .\Heart-Disease\Scripts\Activate.ps1 و إذا واجهت خطأ بسبب سياسة التنفيذ، يمكنك تغيير السياسة مؤقتا باستخدام هذا الأمر: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process ثم حاول تفعيل البيئة مرة أخرى.
  14. السلام عليكم انا هنا عاوز اتدخل علي البيئه الافترضيه علي VScode فا بكتب الامر ده بيس بيظهر خطاء ؟ source Heart-Disease\Scripts\activate ود الاخطاء source : The term 'source' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + source Heart-Disease\Scripts\activate + ~~~~~~ + CategoryInfo : ObjectNotFound: (source:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException يعني انا ازي افعل البيئه الافترضيه علي VScode مش cmd الخاص بنظام ؟
  15. ايوه بس مش كده هبيقي اخترق اه هو المفروض افعل البيئه الافتريضه وبعد كده اشغل الملف بتاعي البيئه من اشغل الملف الخاص بلنظام العام المشكله الحمد االله اتحلت
  16. اهلين شباب كيفكم ليوم؟ هذا العطل درت خاصية display:flex المفروض الحل كل 5 عناصر تحت بعض مثل الصورة الثانية
  17. هو المعرّف الخاص بك على أداة AnyDesk قم بتحميله بعدها ستجد الرقم الذي بجانب Your Address انسخه والصقه كما قلت لك، ثم سيمكنني الدخول إلى جهازك لمعرفة المشكلة بالتحديد أين.
  18. بس اي الid ده ؟ هو حضرتك انا مثبيت مكتابات علي بيئه افترضيه وعمل ملف لبايثون وعاوز اشتغل بلمكتابات الموجود علي الييئه الافترضيه فا اعمل اي هي ده المشكله ؟
  19. أرسل إليّ معرّف ال id الخاص بك على AnyDesk لرؤية ما المشكلة. أرسله على الخاص.
  20. ايوه انا عمل كده فايشغل الكود ده علي VScode مش بيشتغل هل الازم الاول افعل البيئه الافترضيه عند عمل Run لكود ؟
  21. ما دامت جميع المكتبات مثبتة في البيئة الافتراضية فربّما نسيت تفعيل البيئة لهذا لا يتمّ التعرف عليها، قم بتفعيل البيئة الافتراضية من خلال الأمر: .\env\Scripts\activate إن كان اسم البيئة الافتراضية خاصتك مختلفا عن env قم باستبدالها بالاسم الصحيح. وبعد تفعيل البيئة نقوم بتثبيت المكتبات المطلوبة: pip install pandas numpy matplotlib seaborn scikit-learn tensorflow keras
  22. السلام عليكم حمعه مبارك انا عمل بيئه افترضيه وبشغل الكود ده فا بيحصل خطاء زي ده import pandas as pd ^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'pandas' مع العلم انا كل المكتابات مثبيتها في البيئه الافترضيه فا ازي احل مشكله زي ده
  23. بعد أن تعلمنا في المقال السابق مجموعة من المعلومات والمفاهيم الأساسية حول لوحات أردوينو وأنواعها ومكوناتها وبيئة برمجتها، سنتعلم في هذا المقال كيفية بناء أول مشروع باستخدام هذه اللوحة، وهو التحكم بتشغيل وإطفاء ليد LED. يعد هذا المشروع من المشاريع الأساسية والمهمة للمبتدئين في عالم الأردوينو، فمن خلاله تتعلم كيفية التعامل مع لوحة الأردوينو، وتوصيل العناصر البسيطة وربطها مع اللوحة، بالإضافة إلى فهم البنية البرمجية الأساسية لأي مشروع، وكيفية استخدام التعليمات البرمجية الأساسية. فكرة المشروع تعتمد فكرة المشروع على توصيل ليد LED على إحدى الأقطاب الرقمية Digital Pins في لوحة أردوينو أونو Arduino Uno، والتحكم في طريقة عمله، يُضبط القطب كقطب خرج OUTPUT، ثم يُشغل الليد لمدة ثانية واحدة وبعدها يوقف لمدة ثانية أخرى وتتكرر هذه العملية باستمرار. يمكن ربط هذه الفكرة بمثال بسيط لا بد أنك رأيته سابقًا في مكان ما، فهو يستخدم في الساعات الرقمية، إذ يوجد فيها شريحتان من الليدات تفصل بين أرقام الثواني والدقائق والساعات، وتومض بشكل متكرر كل ثانية. العناصر المستخدمة سنحتاج مجموعة من العناصر الضرورية لعمل هذا المشروع، وهي: لوحة أردوينو أونو Arduino Uno. كابل البرمجة USB Cable. لوحة توصيل التجارب Breadboard. ليد LED. مقاومة بقيمة 220 أوم. مجموعة أسلاك توصيل من نوع male to male. ما هي لوحة التجارب Breadboard لوحة التجاري هي لوحة مسطحة مصنوعة من البلاستيك، تحتوي على ثقوب متصلة ببعضها البعض بشكل أفقي أو رأسي بواسطة مسارات معدنية من الداخل. تُستخدم في توصيل العناصر الإلكترونية والأسلاك ببعضها البعض وبناء المشاريع والتجارب الإلكترونية دون الحاجة إلى عملية اللحام، مما يجعلها قابلة لإعادة الاستخدام ومن السهل تغيير مكوناتها. تتصل الثقوب متصلة ببعضها بشكل رأسي في المسارات الجانبية على الأطراف وتوصل عليها أقطاب التغذية غالبًا، لذلك يوجد مساران في كل طرف: الأول للقطب الموجب والآخر للقطب السالب. أما باقي الثقوب فتكون متصلة ببعضها بشكل أفقي وتُستخدم لإدخال العناصر الإلكترونية وتوصيلها ببعضها البعض، كما يوجد فراغ في المنتصف يقسم اللوحة إلى قسمين متناظرين ويسمح بتركيب الدوائر المتكاملة integrated circuit. مخطط توصيل المشروع Circuit Diagram سنوضح طريقة توصيل المشروع من خلال مجموعة من النصائح والخطوات البسيطة التي ستساعدك بإنجاز مشروعك بطريقة سهلة، اتبع الخطوات الآتية لتوصيل المشروع: صل أقطاب التغذية دائمًا بلوحة التجارب أولًا، فسوف تساعدك هذه الخطوة كثيرًا في أي مشروع، ويمكنك الحصول على التغذية من أقطاب الطاقة Power Pins في لوحة الأردوينو التي تحدثنا عنها في المقال السابق، صل القطب 5v مع المسرى الموجب للوحة التجارب والقطب GND مع المسرى السالب للوحة التجارب من خلال الأسلاك. صل الرِّجل الأطول للِّيد (التي تمثل الطرف الموجب) مع القطب رقم 13 في لوحة الأردوينو أونو Arduino Uno. صل الرِّجل الثانية للِّيد (التي تمثل الطرف السالب) مع الرجل الأولى للمقاومة (لا توجد قطبية للمقاومة، لذلك لا يوجد فرق إذا عكسنا بين الرجل الأولى والرجل الثانية). صل الرِّجل الأخرى للمقاومة مع المسرى السالب في لوحة التجارب. توضح الصورة التالية مخطط التوصيل: الكود البرمجي للتحكم بتشغيل وإطفاء ليد LED يجب أن يحتوي أي كود بلغة الأردوينو على دالتين، الأولى()void setup ينفذ ما بداخلها مرة واحدة فقط عند بداية التشغيل وسنسميها الدالة الرئيسية لسهولة الشرح، وبعدها ينتقل لتنفيذ ما بداخل الدالة الثانية ()void loop بشكل متكرر، وسنسميها الدالة التكرارية. void setup() { } void loop() { } تُضبط الأقطاب والطرفيات الخاصة بلوحة الأردوينو في الدالة الرئيسية، ففي مثالنا هذا سنضبط القطب رقم 13 على أنه قطب خرج OUTPUT من خلال الدالة المدمجة ()pinMode التي تأخذ وسيطين: الأول يمثل رقم القطب والثاني نوع القطب (خرج أو دخل) فتصبح الدالة الرئيسية بالشكل الآتي: void setup () { pinMode(13, OUTPUT); } ملاحظة: توفر نواة أردوينو Arduino core مجموعة من الدوال المدمجة التي تتميز بأنها سهلة الفهم والاستخدام مما يجعل عملية البرمجة وتطوير المشاريع الإلكترونية أبسط وأكثر كفاءة وفعالية في الكثير من الأوقات كما أنها توفر الوقت والجهد على المبرمجين بتجنب إعادة كتابة الأكواد الشائعة والمستخدمة بكثرة من خلال استخدام هذه الدوال المبنية مسبقًا، مما يساعدهم على التركيز للإبداع والابتكار. يمكنك الاستزادة أكثر والإطلاع على جميع التوابع المدمجة التي توفرها نواة أردوينو من خلال زيارة صفحة المرجع الرسمي Arduino Reference. وبما أننا نريد تشغيل وإطفاء الليد بشكل متكرر ومستمر لذلك سنكتب أمر التشغيل والإطفاء في الدالة()void loop ونتحكم بالتشغيل والإطفاء من خلال الدالة ()digitalWrite التي تأخذ أيضًا وسيطين: الأول رقم القطب والثاني حالة القطب (إما قيمة 1 منطقي HIGH، أو قيمة 0 منطقي LOW) void loop() { digitalWrite(13, HIGH); digitalWrite(13, LOW); } ولكن عند تجربة هذا الكود نجد أن الليد لا يومض بل يعمل بشكل مستمر، والسبب في ذلك أننا نشغل الليد ثم نطفئه بشكل مباشر وسريع بالتالي لا نلاحظ عملية الومض، في هذه الحالة علينا استخدام الدالة ()delay التي تضيف فترة انتظار أو تأخير زمني في موضع كتابتها في الكود ويمرر الزمن المطلوب لها بواحدة المللي ثانية ms. وبتعديل الكود السابق تصبح الدالة التكرارية على النحو التالي: void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } تحسين الكود البرمجي للتحكم بتشغيل وإطفاء ليد LED عند تجربة الكود السابق نجد أنه يعمل بشكل جيد كما هو مطلوب بالضبط، ولكن يمكن تحسينه أكثر، على فرض أنك تتحكم بحالة القطب من HIGH إلى LOW أو العكس عدة مرات خلال مشروعك، وتريد تغير رقم القطب لسبب ما كترتيب التوصيل ضمن الدارة أو استخدام هذا القطب في وظيفة أخرى خاصة به، ستحتاج في هذه الحالة لتعديل رقم القطب في كل تعليمة تغير فيها حالة القطب من HIGH إلى LOW أو العكس ضمن الكود. لهذا السبب، يجب تعريف متغير ثابت (بما أننا لن نعدل قيمة هذا المتغير أثناء تنفيذ الكود)، يحتوي هذا المتغير على رقم القطب وإذا اضطررنا لتغير رقم القطب فنغير قيمته في الكود مرة واحدة فقط ونُعرِّف المتغير في بداية الكود خارج التوابع ليكون متغيرًا عامًا global variable ونتمكن من استخدامه في أي مكان ضمن الكود. const int LED_PIN = 13; يصبح الكود النهائي للمشروع على النحو التالي: int LED_PIN = 13; void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); } محاكاة المشروع تعد ميزة المحاكاة مفيدة ومهمة في كثير من الأحيان لإجراء بعض التجارب أو المشاريع إضافة إلى أنها توفر الوقت والجهد. وتقدم منصة ووكوي Wokwi إمكانية محاكاة العديد من اللوحات الإلكترونية مثل لوحات الأردوينو Arduino ولوحات إي إس بي اثنان وثلاثين ESP32 ولوحات إس تي إم اثنان وثلاثين STM32 بالإضافة إلى العديد من الحساسات والعناصر والقطع الإلكترونية، يمكنك الاطلاع أكثر على القسم الخاص بتوثيق الموقع للمزيد من المعلومات حول المميزات والخدمات التي يقدمها، اتبع الخطوات الآتية لإنشاء ومحاكاة مشروعك من خلال هذه المنصة: بعد الدخول إلى موقع ووكوي Wokwi ستظهر لك في الواجهة الرئيسية اللوحات المختلفة التي تستطيع عمل محاكاة لها من خلال الموقع. اضغط على خيار Arduino، وانتظر انتهاء تحميل الصفحة ثم انزل قليلًا واختر لوحة أردوينو أونو Arduino Uno. ستظهر الصفحة الخاصة بمحاكاة مشروعك كما في الصورة التالية، الجزء الأيسر في الصورة خاص بكتابة الكود البرمجي، والجزء الأيمن خاص بإضافة العناصر الإلكترونية وتوصيل الدائرة الكهربائية. أضف العناصر الإلكترونية اللازمة للمشروع مثل لوحة توصيل التجارب BreadBoard، والليد LED، والمقاومة Resistor (ستلاحظ عند إضافة عنصر المقاومة ظهور نافذة تتيح لك تغير قيمتها، غيرها إلى 220 أوم). رتب العناصر على لوحة التجارب بالشكل الذي تراه مناسبًا، ثم صل العناصر بعضها ببعض حسب مخطط التوصيل الذي عرضناه سابقًا. أخيرًا اكتب الكود البرمجي في الجزء الخاص به، ثم شغل المحاكاة ستجد الليد يومض كل ثانية. تهانينا بهذا تكون قد أنجزت مشروعك الأول في أردوينو، ويمكنك بالطبع إجراء بعض التجارب والتعديلات على مشروعك مثل تغير زمن التأخير، أو تغير رقم القطب الخاص بالليد، أو إضافة أكثر من ليد LED. الخاتمة تعلمنا في هذا المقال بناء أول مشروع إلكتروني من خلال لوحة أردوينو بعدة خطوات بسيطة وتعرفنا على العديد من الخطوتات والنصائح المفيدة التي تساعد على محاكاة مشروعك وتنفيذه بطريقة صحيحة، وسنستكمل في المقالات القادمة رحلتنا هذه في عالم الأردوينو من خلال بناء المزيد من المشاريع الإلكترونية الممتعة الأكثر تقدمًا. اقرأ أيضًا المقال السابق: التعرف على أساسيات الأردوينو وتجهيز بيئة العمل أساسيات في عالم الإلكترونيات: التيار والجهد والعناصر الساكنة أساسيات في عالم الإلكترونيات: تشكيل الدوائر اﻹلكترونية والعناصر الفعالة مدخل إلى الدوائر المتكاملة Integrated Circuits والمتحكمات الصغرية Micro-processor بنية برنامج لغة سي C
  24. هذا غريب، فالمشكلة ليست في الشيفرة حسب ما أرى، وهذه ليست طبيعة عمل بايثون فعادة ما تبقى الجمل المطبوعة على الشاشة إلى أن يتم إدخال قيمة معينة فعلى الأرجح المشكلة في البيئة التي تعمل فيها لذا جرب تشغيل الكود في بيئة أخرى مثل الطرفية Terminal أو بيئة IDE أخرى مستقرة مثل VS Code، وأخبرني إذا استمرت المشكلة. فالمشكلة تحدث عادة عند استخدام بعض بيئات التطوير المتكاملة IDEs أو واجهات المستخدم التي تتعامل مع المدخلات والمخرجات بطريقة خاصة، لذا لدينا عدة حلول يمكن أن تعالج هذه المشكلة: يمكننا استخدام وحدة sys للتحكم في المخرجات ولضمان طباعة النصوص قبل طلب الإدخال كالتالي: import sys print("Hello world") print("نكتب اي شيء") sys.stdout.flush() n = input("how old are you? \n") كما يمكننا أيضا استخدام: end='' في نهاية print الأخير لمنع إضافة سطر جديد كالتالي: print("Hello world") print("نكتب اي شيء", end='') n = input("\nhow old are you? \n") أو يمكن دمج الطباعة مع الإدخال كالتالي: print("Hello world") print("نكتب اي شيء") n = input("how old are you? \n") print(f"السطور السابقة:\nHello world\nنكتب اي شيء") print(f"عمرك هو: {n}") أو كما قلنا في البداية فقط غيّر البيئة التي تعمل فيها، فكلّ الحلول السابقة هي حلول للمشكلة.
  25. عند طباعة نصين ثم طباعتة سؤال وتخزين قيمته مثلا:- print("Hello world") print("نكتب اي شيء") # عندما يقوم بطباعة السطرين يقوم بنقلك الى شاشه اخرى ويحذف ما طبعه ويطبع السؤال فقط وعنما تجيب على السؤال تتم تخزين قيمته في # ثم يقوم بالعوده الي الشاشه اللتي بها سطري الطباعه (n) n = input("how old are you? \n")
  1. عرض المزيد
×
×
  • أضف...