إصلاح: تدعم وحدة المعالجة المركزية الخاصة بك تعليمات أن TensorFlow Binary لم يتم تجميعه لاستخدام AVX2

امتدادات المتجهات المتقدمة ( AVX ، والمعروفة أيضًا باسم Sandy Bridge New Extensions ) هي امتدادات لمجموعة هندسة x86 للمعالجات الدقيقة من Intel و AMD التي اقترحتها Intel في مارس 2008 ودعمتها Intel لأول مرة مع معالج Sandy Bridge للشحن في Q1 2011 وما بعده يتم تشغيله بواسطة AMD مع شحن معالج البلدوزر في الربع الثالث من عام 2011. يوفر AVX ميزات جديدة وتعليمات جديدة ونظام ترميز جديد.

يظهر التحذير في كمد

تتم طباعة رسالة التحذير هذه بواسطة مكتبة TensorFlow المشتركة. كما تشير الرسالة ، لا تتضمن المكتبة المشتركة نوع الإرشادات التي يمكن أن تستخدمها وحدة المعالجة المركزية الخاصة بك.

ما الذي يسبب هذا التحذير؟

بعد TensorFlow 1.6 ، تستخدم الثنائيات الآن تعليمات AVX التي قد لا تعمل على وحدات المعالجة المركزية القديمة بعد الآن. لذلك لن تتمكن وحدات المعالجة المركزية (CPU) الأقدم من تشغيل AVX ، أما بالنسبة للأحدث ، فيجب على المستخدم إنشاء tensorflow من المصدر لوحدة المعالجة المركزية الخاصة بهم. يوجد أدناه جميع المعلومات التي تحتاج إلى معرفتها حول هذا التحذير المحدد. أيضا ، طريقة للتخلص من هذا التحذير للاستخدام في المستقبل.

ماذا تفعل AVX؟

على وجه الخصوص ، قدمت AVX FMA (Fused multiply-add) ؛ وهي عملية إضافة النقطة العائمة ، وهذه العملية كلها تتم في خطوة واحدة. هذا يساعد على تسريع العديد من العمليات دون أي مشكلة. إنه يجعل حساب الجبر أكثر سرعة وسهولة في الاستخدام ، وأيضًا منتج dot-matrix ، ضرب المصفوفة ، الإلتواء ، وما إلى ذلك. وهذه كلها عمليات أكثر استخدامًا وأساسية لكل تدريب على تعلم الآلة. ستكون وحدات المعالجة المركزية التي تدعم AVX و FMA أسرع بكثير من الأجهزة القديمة. لكن التحذير ينص على أن وحدة المعالجة المركزية الخاصة بك تدعم AVX ، لذلك فهي نقطة جيدة.

تقنية Intel AVX

لماذا لا تستخدم افتراضيا؟

وهذا لأنه تم بناء التوزيع الافتراضي TensorFlow دون ملحقات وحدة المعالجة المركزية. بواسطة ملحقات وحدة المعالجة المركزية (CPU) ، تنص على AVX ، AVX2 ، FMA ، إلخ. لا يتم تمكين الإرشادات التي تؤدي إلى هذه المشكلة بشكل افتراضي على الإنشاءات الافتراضية المتاحة. أسباب عدم تمكينها هي جعل هذا أكثر توافقًا مع أكبر عدد ممكن من وحدات المعالجة المركزية. أيضا لمقارنة هذه الملحقات ، فهي أبطأ كثيرا في وحدة المعالجة المركزية بدلا من GPU. يتم استخدام وحدة المعالجة المركزية (CPU) في التعلم الآلي على نطاق صغير بينما من المتوقع استخدام GPU عند استخدامه للتدريب على تعلم الآلة على نطاق متوسط ​​أو كبير.

إصلاح التحذير!

هذه التحذيرات هي مجرد رسائل بسيطة. الغرض من هذه التحذيرات هو إخبارك حول TensorFlow المدمج من المصدر. عند إنشاء TensorFlow من المصدر ، يمكن أن يكون أسرع على الجهاز. لذلك كل هذه التحذيرات التي تخبرك بها هي تراكم TensorFlow من المصدر.

إذا كان لديك GPU على جهازك ، فيمكنك تجاهل هذه التحذيرات من دعم AVX. لأنه سيتم إرسال أغلى منها على جهاز GPU. وإذا كنت لا تريد رؤية هذا الخطأ بعد الآن ، فيمكنك ببساطة تجاهله عن طريق إضافة هذا:

قم باستيراد وحدة OS في رمز البرنامج الرئيسي وقم أيضًا بتعيين كائن التعيين لها

 # من أجل تعطيل نظام استيراد التحذير os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

ولكن إذا كنت تستخدم نظام Unix ، فاستخدم الأمر export في bash shell

 تصدير TF_CPP_MIN_LOG_LEVEL = 2 

ولكن إذا لم يكن لديك GPU ، وتريد استخدام وحدة المعالجة المركزية الخاصة بك إلى أقصى حد ممكن ، يجب عليك بناء TensorFlow من المصدر الأمثل لوحدة المعالجة المركزية الخاصة بك مع AVX ، AVX2 ، و FMA ممكنة هنا.

مقالات مثيرة للاهتمام