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

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

  1. Ali Haidar Ahmad

    Ali Haidar Ahmad

    الأعضاء


    • نقاط

      10

    • المساهمات

      1068


  2. Salman Bin Mohammed

    Salman Bin Mohammed

    الأعضاء


    • نقاط

      2

    • المساهمات

      29


  3. عبدالله محمد

    عبدالله محمد

    الأعضاء


    • نقاط

      1

    • المساهمات

      24


  4. ابوسعيد يعقوب

    ابوسعيد يعقوب

    الأعضاء


    • نقاط

      1

    • المساهمات

      12


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

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

  1. كيف استطيع تغير مكان الراوبط عن طريق css
    1 نقطة
  2. إن الطبقات التي نقوم باستخدامها في keras و tensorflow هي طبقات تتعامل مع بنية بيانات نسميها tensor (بنية خاصة أكثر كفاءة من بنى المصفوفات العادية)، حيث أن هذه الطبقات صممت بحيث يمكنها أن تستقبل بيانات من نوع numpy.array ثم تحولها تلقائياً إلى tensor. لكن هذه الطبقات لاتتعامل مع القوائم وأنت تمرر لها قائمة وهذا خطأ شائع، لذا يجب أن تحول بياناتك إلى مصفوفة نمباي أولاً وستحل مشكلتك: import numpy data = numpy.array(data) label = numpy.array(label)
    1 نقطة
  3. مرحبا انا اشتريت دورة تطوير الويب ولكني بعدما انتهيت من فصل مدخل الى علوم الحاسوب لا يفتح معي فصل اساسيات البرمجة
    1 نقطة
  4. لم افهم السؤال جيدا لاكن نصيحتي لك اذا كنت مبرمج اندرويد وتريد نظام عضويات في تطبيقك استخدم Firebase Authentication مجاني ويوجد العديد من المقالات والمقاطع لكيفية استخدامه فقط ابحث firebase authentication tutorial كما توجد مقالت عديده عن كيفية استخدام نظام role (ادمن - يوزر) الخ https://www.toptal.com/firebase/role-based-firebase-authentication او يمكنك البحث بقوقل firebase authentication admin role
    1 نقطة
  5. الخطأ في تحديد مكان الملف, تأكد جيدا من مكان الملف الذي حددته من خلال الخاصية src, تحدث هذه المشكلة عندما يتم تحديد مكان الملف بشكل خاطئ, فيظهر عدد الثواني أصفار وايضا أزرار التحكم لا تستطيع الضغط عليها , أرجو منك التأكد من مكان الملف
    1 نقطة
  6. لقد اشتركت في دورة تعلم البرمجه ولم يظهر لي قسم دوراتي لكي استطيع الدخول الى دورتي ....الرجاء مساعدتي
    1 نقطة
  7. مرحبا أحمد، قد يأخذ الأمر بعض الوقت حتى يقوم فريق العمل لتفعيل الدورة على حسابك الشخصي، رابط دوراتي من هنا: دوراتي سيتم تفعيله بأقرب وقت ممكن، إن حصل معك أي مشاكل يمكنك التواصل مع مركز مساعدة حسوب شكراً لك
    1 نقطة
  8. اريد تغير مكان الوسم li بحيث بدال مايكون في اليمين يكون في اليسار
    1 نقطة
  9. استخدام المعامل ... في وسط الداله في php النقاط ايش فائدتها
    1 نقطة
  10. لقد قمت بتعريف نموذجك مع مخرجين [output1, output2]، لذلك من المتوقع أن يتم عمل ال fitting مع مصفوفتين مختلفتين من ال label. واحدة بحجم (, 119) والأخرى (,2) وهذا مايتوافق مع طبقتي الإخراج Dense لديك. الحل: g = ImageDataGenerator() def generate_data_generator(g, X, Y1, Y2): genX1 = generator.flow(X, Y1, seed=7) genX2 = generator.flow(X, Y2, seed=7) while True: X1i = genX1.next() X2i = genX2 .next() yield X1i[0], [X1i[1], X2i[1]] model.fit_generator(generate_data_generator(generator, x_train, y_train, y_train_gender), steps_per_epoch=len(x_train) / 16, epochs=5)
    1 نقطة
  11. قم بتبديل: from keras.applications.imagenet_utils import _obtain_input_shape إلى: from keras_applications.imagenet_utils import _obtain_input_shape فهي غير موجودة في keras.applications.imagenet_utils، يمكنك أن تجدها في keras_applications.imagenet_utils
    1 نقطة
  12. @مرحباً @اسماعيل صدوقي الخطأ بالعداة يشير إلى مشكلة بالأقراص لديك خاصة إن كانت SATA تفقد التوصيلات للقرص بعد ذلك قم بفحص القرص لمعرفة إن كان هناك sectors تالفة من خلال الأمر smartctl سيقوم بإظهار صحة الأقراص لديك
    1 نقطة
  13. نعم منذ Py2.6: قم بتثبيتها أولاً: pip install ordered-set from ordered_set import OrderedSet l = OrderedSet('abraca') print(l) # OrderedSet(['a', 'b', 'r', 'c'])
    1 نقطة
  14. أولاً as: يتم استخدامها لإنشاء اسم مستعار # بدون اسم مستعار import numpy a = numpy.array([2, 3, 4]) # array([2, 3, 4]) b=numpy.zeros((3, 4)) # مع استخدام اسم مستعار import numpy as np a = np.array([2, 3, 4]) # array([2, 3, 4]) b=np.zeros((3, 4)) # لاحظ ان استخدام اسم مستعار يكون أكثر أريحية خصوصاً عندما تتعدد الفروع مثل المثال التالي # بدون اسم مستعار import tensorflow.keras.utils tensorflow.keras.utils.plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True) # مع اسم مستعار import tensorflow.keras.utils as pl pl.plot_model(model, to_file='model_plot.png', show_shapes=True, show_layer_names=True) ثانياً: with. تم تقديم عبارة with لأول مرة منذ خمس سنوات، في Python 2.5. تُستخدم with عند العمل مع موارد غير مُدارة "unmanaged resources" مثل file streams Open network connections. Unmanaged memory ومع الأقفال Locks و ال sockets وال subprocesses. يسمح لك بالتأكد من "تنظيف" المورد عند انتهاء تشغيل الكود الذي يستخدمه، حتى إذا تم طرح استثناءات. ففي حال استخدمتها مع الملفات فتتمثل ميزة استخدام عبارة with في ضمان إغلاق الملف بشكل آمن بغض النظر عن كيفية الخروج من الكتل البرمجية المتداخلة الموجودة لديك. بحيث إذا حدث استثناء قبل نهاية الكتلة البرمجية، فسيتم إغلاق الملف بشكل مسبق بواسطة معالج استثناء خارجي. وإذا كانت الكتلة المتداخلة تحتوي على تعليمة return ، أو تعليمة continue أو break، فإن تعليمة with ستغلق الملف تلقائياً في تلك الحالات أيضاً. حيث تضمن عبارة with نفسها بالحصول على الموارد وتحريرها بالشكل المناسب. يكون استخدامها مفيداً عندما يكون لديك عمليتان مترابطتان ترغب في تنفيذهما كزوج، مع وجود كتلة من التعليمات البرمجية بينهما. المثال الكلاسيكي هو فتح ملف ومعالجة الملف ثم إغلاقه وهذا ماسنراه في المثال التالي: # وبدون معالجة للاستثناءات التي قد تحدث with بدون استخدام f = open('path', 'w') f.write('hsoub') f.close() # مع معالجة للاستثناءات التي قد تحدث with بدون استخدام f = open('path', 'w') try: f.write('hsoub') finally: f.close() #with استخدام with open('path', 'w') as file: f.write('hsoub') في أول مثال قد يؤدي حدوث استثناء أثناء استدعاء write إلى عدم إغلاق الملف بشكل سليم مما يؤدي إلى حدوث العديد من الأخطاء في الكود. الطريقة الثانية في المثال أعلاه تهتم بجميع الاستثناءات ولكن استخدام تعليمة with يجعل الكود مضغوطاً وقابل للقراءة بشكل أكبر. وبالتالي ، تساعد العبارة في تجنب الأخطاء والتسريبات من خلال ضمان تحرير المورد بشكل صحيح عند تنفيذ التعليمات البرمجية التي تستخدم المورد بالكامل. ولاحظ أنك لن تحتاج لتعليمة close كما في أول حالتين. يمكنك أيضاً استخدام تعليمة with مع كائنات معرفة من قبلك حيث يمكن استخدامها في الكائنات التي يحددها المستخدم وهذا مفيد بالنسبة لك لأن دعم عبارة with في العناصر الخاصة بك سيضمن عدم ترك أي مورد مفتوحًا أبدًا. لاستخدامها مع الكائنات المعرفة من قبل المستخدم، تحتاج فقط إلى إضافة التوابع __enter __ () و __exit __ () في الكائن، مثال: class wr(object): def __init__(self, file_name): self.file_name = file_name def __enter__(self): self.file = open(self.file_name, 'w') return self.file def __exit__(self): self.file.close() #مع الكائن with استخدام التعليمة with wr('file.txt') as f: f.write('hasoub') إن الكلمة المفتاحية with تشكل باني ل wr، وبمجرد وصول التنفيذ لتعليمة with يتم إنشاء كائن من wr، ثم يقوم بايثون باستدعاء التابع enter الذي يقوم بتهيئة المورد الذي تريد أن تستخدمه في ال object الخاص بك، ويجب أن تقوم طريقة __enter __ () دائمًا بإرجاع واصف للمورد "descriptor"(مقبض للوصول للملف) الذي تم الحصول عليه. يتم استخدام f للإشارة لل descriptor الذي تم الحصول عليه من التابع enter، ويتم وضع الكود البرمجي الذي يستخدم المورد بداخل كتلة with وبمجرد تنفيذ الكود الموجود داخل الكتلة with ، يتم استدعاء طريقة __exit __ () ليتم تحرير جميع الموارد.
    1 نقطة
  15. إليك لطرق المستخدمة: import math import numpy x= np.array([0, 1, 2, 3, 4, 5]) g = lambda x: x ** 2 vg = numpy.vectorize(g) def array_for(v): return numpy.array([g(vi) for vi in v]) def array_map(v): return numpy.array(list(map(g, v))) def fromiter(v): return numpy.fromiter((g(vi) for vi in v), v.dtype) def vectorize(v): return numpy.vectorize(g)(v) def vectorize_without_init(v): return vg(v) والاختلاف في التعقيد "complexity" كما في الصورة المرفقة. لاحظ أن التعقيد الزمني يصبح متساوي تقريباً (الفرق في التعقيد يصبح مهمل تقريباً) عندما يزداد طول x عن 2^10.
    1 نقطة
  16. إضافة إلى الطرق التي قدمها الأستاذ وائل. سأضيف لك طريقة هي الأسرع، حيث أنه يوجد العديد من الطرق لحسابها في بايثون و الفرق بينهم هو التعقيد الزمني. حيث يتم استخدام الدالة (Einstein’s summation)einsum كالتالي: import numpy as np point1 = numpy.array((2, 1, 2)) point2 = numpy.array((2, 1, 2)) # التابع التالي سيحسب لك المسافة من أجل نقاط أحادية وثنائية وثلاثية الأبعاد def dist(p1, p2, metric='euclidean'): p1 = np.asarray(p1) p2 = np.atleast_2d(p2) p1_dim = p1.ndim p2_dim = p2.ndim if p1_dim == 1: p1 = p1.reshape(1, 1, p1.shape[0]) if p1_dim >= 2: p1 = p1.reshape(np.prod(p1.shape[:-1]), 1, p1.shape[-1]) if p2_dim > 2: p2 = p2.reshape(np.prod(p2.shape[:-1]), p2.shape[-1]) diff = p1 - p2 dist_arr = np.einsum('ijk,ijk->ij', diff, diff) if metric[:1] == 'e': dist_arr = np.sqrt(dist_arr) dist_arr = np.squeeze(dist_arr) return dist_arr dist(point1,point2) # array(0.) لاحظ التعقيد كيف يختلف من طريقة لأخرى.
    1 نقطة
  17. سأعرف لك تابع عام يقوم باستبدال نص بنص آخر، ٍسأتخدم االمكتبة regex هنا: import re search_text="2 hi there" new_text="hi" def replaceText(path, oldtext, newtext, flags=0 ): with open( path, "r+" ) as f: content = f.read() pa = re.compile( re.escape( oldtext ), flags ) content = pa.sub( newtext, content ) f.seek( 0 ) f.truncate() f.write( content ) # قبل الاستبدال path="D:\\ff.txt" f = open(path, "r") print(f.read()) ''' 1 hi there 2 hi there 3 hi there ''' replaceText(path,search_text,new_text) # بعد الاستبدال f = open(path, "r") print(f.read()) ''' 1 hi there hi 3 hi there ''' يمكنك أيضاً استخدام الوحدة fileinput التي تحوي على توابع تسمح بتسريع التعامل مع هذه الأمور: import fileinput search_text="2 hi there" new_text="hi" def replaceText(path, oldtext, newtext): with fileinput.input(path, inplace=1) as file: for line in file: new = line.replace(oldtext, newtext) print(new, end='') # قبل الاستبدال path="D:\\ff.txt" f = open(path, "r") print(f.read()) ''' 1 hi there 2 hi there 3 hi there ''' f.close() replace_in_file(path,search_text,new_text) # بعد الاستبدال f = open(path, "r") print(f.read()) ''' 1 hi there hi 3 hi there '''
    1 نقطة
  18. السبب يعود إلى مبدأ "Command–query separation" حيث يعد الفصل بين الأوامر والاستعلام مبدأ في برمجة الكمبيوتر. ينص هذا المبدأ على التالي:""إن كل عملية يجب أن تكون إما أمرًا يقوم بتنفيذ إجراء ما ، أو استعلام يقوم بإرجاع البيانات ، وليس كليهما. وفي بايثون يتم تحقيق هذا المبدأ في التابع append والعديد من التوابع الإجرائية الأخرى (ليست استعلام). ولهذا السبب أعادت لك None أي لاشيء. وبالتالي not None تكافئ True. لكن قد يكون هناك بعض التجاوزات لهذا المبدأ مثل التابع pop الذي يعد تابع إجرائي وبنفس الوقت يعيد قيمة، حيث يحذف آخر عنصر من list ويرجعه بنفس الوقت: list = [ 1, 2, 3, 4, 5, 6 ] print(list.pop()) # 6 print(list)# [1, 2, 3, 4, 5]
    1 نقطة
  19. أنا استخدم مكتبة dpath وهي سريعة بما يكفي ومصممة خصيصاً للتعامل مع هكذا مهام في القواميس كالتالي: # أولاً قم بتحميلها # pip install dpath dataDict = { "a":{ "x": 1, "y": 2, "z": 3 }, "b":{ "x": 1, "y": { "x": 1, "y": 2, "z": 3 }, "z": 3 } } # استيراد المكتبة import dpath.util # البحث عن القيمة المطلوبة value1=dpath.util.get(dataDict, '/a/z') # نمرر القاموس والمسار المطلوب print(value1) value1=dpath.util.get(dataDict, '/b/y/z') print(value2) هناك طرق أخرى، مثلاً يمكنك استخدام الدالة reduce من الموديول functools كالتالي: from functools import reduce import operator def getFromDict(dataDict, mapList): return reduce(operator.getitem, mapList, dataDict) dataDict = { "a":{ "x": 1, "y": 2, "z": 3 }, "b":{ "x": 1, "y": { "x": 1, "y": 2, "z": 3 }, "z": 3 } } value1=getFromDict(dataDict, ["a","z"]) print(value1) value2=getFromDict(dataDict, ["b","y","z"]) print(value2)
    1 نقطة
×
×
  • أضف...