عند محاولة تدريب شبكة عصبية باستخدام طبقات LSTM باستخدام TensorFlow، ما يلي حدث خطأ:
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float).
يظهر هذا الخطأ عند محاولة ملاءمة بيانات التدريب والاختبار للنموذج.
ينبع الخطأ من استخدام قوائم بايثون كقوائم إدخال البيانات بدلاً من صفائف NumPy. لا يدعم TensorFlow القوائم كبيانات إدخال.
لحل المشكلة، قم بتحويل بيانات الإدخال من القوائم إلى صفائف NumPy باستخدام وظيفة np.asarray(). بالإضافة إلى ذلك، تأكد من تنسيق البيانات كما هو متوقع بواسطة النموذج الخاص بك.
بالنسبة لنموذج LSTM، التنسيق المطلوب هو موتر ثلاثي الأبعاد بأبعاد (حجم الدفعة، الخطوات الزمنية، الميزات).
المقدمة يمكن تعديل كود بايثون على النحو التالي:
x_train = np.asarray(x_train).astype('float32')
y_train = np.asarray(y_train).astype('float32')
x_test = np.asarray(x_test).astype('float32')
y_test = np.asarray(y_test).astype('float32')
من خلال تحويل بيانات الإدخال إلى صفائف NumPy والتأكد من تنسيق البيانات الصحيح، يجب حل الخطأ، وسيتمكن النموذج من التدريب بنجاح.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3