תיקון: המעבד שלך תומך בהוראות ש- TensorFlow בינארי זה לא נערך לשימוש ב- AVX2



נסה את הכלי שלנו לביטול בעיות

הרחבות וקטוריות מתקדמות ( AVX , ידוע גם כ Sandy Bridge הרחבות חדשות ) הם הרחבות לארכיטקטורת מערך ההוראות x86 עבור מעבדי אינטל ו- AMD שהוצעו על ידי אינטל במרץ 2008 ותמכו לראשונה על ידי אינטל עם משלוח מעבד Sandy Bridge ברבעון הראשון של 2011 ובהמשך על ידי AMD עם משלוח מעבד הדחפור ברבעון השלישי של 2011. AVX מספק תכונות חדשות, הוראות חדשות וסכימת קידוד חדשה.



האזהרה מוצגת ב- cmd



הודעת אזהרה זו מודפסת על ידי הספרייה המשותפת של TensorFlow. כפי שההודעה מציינת, הספרייה המשותפת אינה כוללת את סוג ההוראות שהמעבד יכול להשתמש בהן.



מה גורם לאזהרה זו?

לאחר TensorFlow 1.6, הקבצים הבינאריים משתמשים כעת בהוראות AVX שאולי לא יפעלו יותר במעבדים ישנים יותר. כך שמעבדי ה- CPU הישנים לא יוכלו להריץ את ה- AVX, ואילו עבור החדשים יותר, המשתמש צריך לבנות את זרימת הטנסור מהמקור עבור המעבד שלהם. להלן כל המידע שעליך לדעת על אזהרה מסוימת זו. כמו כן, שיטה להיפטר מהאזהרה לשימוש עתידי.

מה ה- AVX עושה?

בפרט, ה- AVX הציג את ה- FMA (Fused multiply-add); שהיא פעולת הכפל-הוספת נקודה צפה, וכל הפעולה הזו נעשית בשלב יחיד. זה עוזר לזרז פעולות רבות ללא שום בעיה. זה הופך את חישוב האלגברה לשימוש מהיר וקל יותר, גם את מוצר הנקודות, הכפלת המטריצה, פיתול וכו '. כל אלה הם הפעולות המשומשות והבסיסיות ביותר עבור כל אימון למידת מכונה. המעבדים התומכים ב- AVX וב- FMA יהיו מהירים בהרבה מהמבוגרים יותר. אך האזהרה קובעת כי המעבד שלך תומך ב- AVX, ולכן זו נקודה טובה.

טכנולוגיית AVX של אינטל



מדוע הוא אינו משמש כברירת מחדל?

הסיבה לכך היא שהפצת ברירת המחדל של TensorFlow נבנית ללא סיומות המעבד. לפי סיומות מעבד הוא מציין את AVX, AVX2, FMA וכו '. ההוראות שמפעילות בעיה זו אינן מופעלות כברירת מחדל בבנייני ברירת המחדל הזמינים. הסיבות לכך שאינן מופעלות היא להפוך את זה ליותר תואם עם כמה שיותר מעבדים. גם כדי להשוות את התוספים הללו, הם הרבה יותר איטיים במעבד ולא ב- GPU. מעבד משמש למידת מכונה בקנה מידה קטן ואילו השימוש ב- GPU צפוי כאשר הוא משמש להכשרה למידה מכונה בקנה מידה בינוני או גדול.

תיקון האזהרה!

אזהרות אלה הן רק מסרים פשוטים. מטרת האזהרות היא להודיע ​​לך על 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 דקות