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



جرب أداة القضاء على المشاكل

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



يظهر التحذير في cmd



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



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

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

ماذا يفعل AVX؟

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

تقنية Intel AVX



لماذا لا يتم استخدامه بشكل افتراضي؟

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

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

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

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

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

 # لتعطيل التحذير   استيرادها   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

ولكن إذا كنت في نطاق يونكس ، ثم استخدم أمر التصدير في bash shell

 تصدير TF_CPP_MIN_LOG_LEVEL = 2 

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

2 دقيقة للقراءة