Numpy: TypeError: لا يمكن تحويل ufunc إضافة الإخراج من dtype ('float64') إلى dtype ('uint8') مع قاعدة الصب 'same_kind'

تم إنشاؤها على ١٠ فبراير ٢٠١٦  ·  10تعليقات  ·  مصدر: numpy/numpy

أنا أستخدم مكتبة الجيزة ويظهر لي الخطأ أعلاه عند تثبيت أحدث إصدار من Numpy. لم يكن هناك خطأ في الإصدار 1.08 من Numpy.

File "animation/target_animation.py", line 161, in draw
    fill = gizeh.ImagePattern(self.bg.data, self.bg.pos, filter='best')
  File "build/bdist.linux-x86_64/egg/gizeh/gizeh.py", line 295, in __init__
  File "build/bdist.linux-x86_64/egg/gizeh/gizeh.py", line 50, in from_image
TypeError: Cannot cast ufunc add output from dtype('float64') to dtype('uint8') with casting rule 'same_kind'

هل هناك حل بديل أم يمكنك إصلاح هذه المشكلة من فضلك؟

التعليق الأكثر فائدة

عادةً ما يكون هذا رمزًا مثل a += b وتحتاج إلى جعله np.add(a, b, out=a, casting="unsafe") (إذا كنت متأكدًا من رغبتك في السلوك غير الآمن. ب أولا.

ال 10 كومينتر

تحتاج إلى جعل التمثيل واضحًا باستخدام الوسيطة casting في np.add ufunc. السلوك الذي تعتمد عليه الجيزة منتهي منذ 1.7.

هذا هو casting='unsafe' .

أين يجب أن أغير هذا @ charris ؟

عادةً ما يكون هذا رمزًا مثل a += b وتحتاج إلى جعله np.add(a, b, out=a, casting="unsafe") (إذا كنت متأكدًا من رغبتك في السلوك غير الآمن. ب أولا.

أفهم أنني كنت أتحدث على وجه التحديد عن التغييرات التي يجب إجراؤها على الجيزة / فيلم.

في حالتي ، لدي مشكلة مماثلة. تم حلها على النحو الذي اقترحه seberg. لقد استبدلت الخط 40 في الجيزة. py:

arr += image.flatten()

مع السطر:

arr = np.add(arr, image.flatten(), out=arr, casting="unsafe")

آمل أن يساعد هذا شخصًا آخر.

واجهت هذه المشكلة عندما _طرح_ مثل هذا:
yn -= self.y_mean

اختفى خطأي عندما أجريت عملية الطرح عبر
yn = np.subtract(yn, self.y_mean, out=yn, casting="unsafe")

شكرا جزيلا seberg : +1:

@ FilipSavic95 : يمكن أن تفعل أيضًا yn -= self.y_mean.astype(yn.dtype)

@ eric-wieser نعم ، لقد جربت للتو الحل الذي قدمته وهو يعمل. شكرا لنشرها. : +1:

السؤال هو ما هي الدقة التي تريد استخدامها للعملية نفسها. ستقوم عملية الصب غير الآمنة بالعملية بدقة (rhs) الأكبر (أو النوع الآمن المدمج) ، وسيقوم الخيار الآخر بعملية الصب وبالتالي العملية بدقة أقل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

marcocaccin picture marcocaccin  ·  4تعليقات

amuresan picture amuresan  ·  4تعليقات

Levstyle picture Levstyle  ·  3تعليقات

inducer picture inducer  ·  3تعليقات

astrofrog picture astrofrog  ·  4تعليقات