Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาดของ Windows

แก้ไข:CPU ของคุณรองรับคำแนะนำว่าไบนารี TensorFlow นี้ไม่ได้คอมไพล์เพื่อใช้ AVX2

ส่วนขยายเวกเตอร์ขั้นสูง (AVX หรือที่เรียกว่า Sandy Bridge New Extensions ) เป็นส่วนขยายสำหรับสถาปัตยกรรมชุดคำสั่ง x86 สำหรับไมโครโปรเซสเซอร์จาก Intel และ AMD ที่เสนอโดย Intel ในเดือนมีนาคม 2008 และสนับสนุนครั้งแรกโดย Intel ด้วยโปรเซสเซอร์ Sandy Bridge ที่วางจำหน่ายในไตรมาสที่ 1 ปี 2011 และหลังจากนั้นโดย AMD โดยมีโปรเซสเซอร์ Bulldozer วางจำหน่ายในไตรมาสที่ 3 ปี 2011 AVX มีคุณลักษณะใหม่ คำแนะนำใหม่ และรูปแบบการเข้ารหัสใหม่

แก้ไข:CPU ของคุณรองรับคำแนะนำว่าไบนารี TensorFlow นี้ไม่ได้คอมไพล์เพื่อใช้ AVX2

ข้อความเตือนนี้พิมพ์โดยไลบรารีที่ใช้ร่วมกันของ TensorFlow ตามที่ข้อความระบุ ไลบรารีที่ใช้ร่วมกันไม่ได้ระบุประเภทของคำสั่งที่ CPU ของคุณสามารถใช้ได้

คำเตือนนี้เกิดจากอะไร

หลังจาก TensorFlow 1.6 ตอนนี้ไบนารีใช้คำสั่ง AVX ซึ่งอาจไม่ทำงานบน CPU รุ่นเก่าอีกต่อไป ดังนั้นซีพียูรุ่นเก่าจะไม่สามารถรัน AVX ได้ ในขณะที่สำหรับซีพียูที่ใหม่กว่า ผู้ใช้จำเป็นต้องสร้างเทนเซอร์โฟลว์จากแหล่งที่มาสำหรับซีพียูของตน ด้านล่างนี้คือข้อมูลทั้งหมดที่คุณต้องรู้เกี่ยวกับคำเตือนนี้โดยเฉพาะ อีกทั้งวิธีการกำจัดคำเตือนนี้สำหรับใช้ในอนาคตด้วย

AVX ทำหน้าที่อะไร

โดยเฉพาะอย่างยิ่ง AVX ได้แนะนำ FMA (Fused multiply-add); ซึ่งเป็นการดำเนินการคูณบวกเลขทศนิยม และการดำเนินการทั้งหมดนี้เสร็จสิ้นในขั้นตอนเดียว ซึ่งช่วยให้ดำเนินการหลายอย่างได้เร็วขึ้นโดยไม่มีปัญหาใดๆ มันทำให้การคำนวณพีชคณิตรวดเร็วและใช้งานง่ายยิ่งขึ้น รวมถึงดอทโปรดัค การคูณเมทริกซ์ การบิดเบี้ยว ฯลฯ และนี่คือการดำเนินการพื้นฐานที่ใช้บ่อยที่สุดสำหรับการฝึกอบรมแมชชีนเลิร์นนิงทุกครั้ง ซีพียูที่รองรับ AVX และ FMA จะเร็วกว่าตัวเก่ามาก แต่คำเตือนระบุว่า CPU ของคุณรองรับ AVX ดังนั้นจึงเป็นจุดที่ดี

แก้ไข:CPU ของคุณรองรับคำแนะนำว่าไบนารี TensorFlow นี้ไม่ได้คอมไพล์เพื่อใช้ AVX2

เหตุใดจึงไม่ใช้โดยค่าเริ่มต้น

นั่นเป็นเพราะการกระจายเริ่มต้นของ TensorFlow ถูกสร้างขึ้นโดยไม่มีส่วนขยายของ CPU โดยส่วนขยายของ CPU จะระบุ AVX, AVX2, FMA ฯลฯ คำแนะนำที่ทำให้เกิดปัญหานี้ไม่ได้เปิดใช้งานตามค่าเริ่มต้นในบิลด์เริ่มต้นที่มีอยู่ สาเหตุที่ไม่เปิดใช้งานคือทำให้สามารถใช้งานร่วมกับ CPU ได้มากที่สุดเท่าที่จะเป็นไปได้ นอกจากนี้ ในการเปรียบเทียบส่วนขยายเหล่านี้ CPU จะช้ากว่า GPU มาก CPU ใช้ในแมชชีนเลิร์นนิงขนาดเล็กในขณะที่คาดว่าจะใช้ GPU เมื่อใช้สำหรับการฝึกอบรมแมชชีนเลิร์นนิงขนาดกลางหรือขนาดใหญ่

กำลังแก้ไขคำเตือน!

คำเตือนเหล่านี้เป็นเพียงข้อความธรรมดา จุดประสงค์ของคำเตือนเหล่านี้คือการแจ้งให้คุณทราบเกี่ยวกับ TensorFlow ที่สร้างขึ้นจากแหล่งที่มา เมื่อคุณสร้าง TensorFlow จากแหล่งที่มา จะทำให้เครื่องเร็วขึ้น คำเตือนทั้งหมดเหล่านี้กำลังบอกคุณถึงการสร้าง TensorFlow จากแหล่งที่มา

หากคุณมี GPU ในเครื่อง คุณสามารถละเว้นคำเตือนเหล่านี้ได้จากการสนับสนุน AVX เพราะอันที่แพงที่สุดจะถูกส่งไปยังอุปกรณ์ GPU และหากคุณไม่ต้องการเห็นข้อผิดพลาดนี้อีกต่อไป คุณก็เพิกเฉยได้โดยการเพิ่มสิ่งนี้:

นำเข้า โมดูลระบบปฏิบัติการ ในรหัสโปรแกรมหลักของคุณและตั้งค่าอ็อบเจกต์การแมปไว้ด้วย

# For disabling the warning

import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

แต่ถ้าคุณอยู่บน Unix จากนั้นใช้คำสั่ง export ใน bash shell

export TF_CPP_MIN_LOG_LEVEL=2

แต่ถ้าไม่มี GPU และคุณต้องการใช้ CPU ให้มากที่สุด คุณควรสร้าง TensorFlow จากแหล่งที่มาที่ปรับให้เหมาะกับ CPU ของคุณโดยเปิดใช้ AVX, AVX2 และ FMA ที่นี่