הנה כמה טיפים לתיקון בעיות בלתי צפויות.
הפעולה אסורה במסגרת אסטרטגיית ההפצה
שגיאה כמו : יצירת מחולל במסגרת אסטרטגיה אסורה, מכיוון שיש אי בהירות כיצד לשכפל מחולל (למשל האם להעתיק אותו כך שכל העתק יקבל את אותם מספרים אקראיים, או 'לפצל' כך שכל העתק יקבל אקראי שונה מספרים).
פתרון : העברת distribution_strategy='auto'
run
API עוטפת את כל הסקריפט שלך באסטרטגיית הפצה של TF המבוססת על תצורת האשכול שסופקה. אתה תראה את השגיאה שלעיל או משהו דומה לה, אם מסיבה כלשהי לא ניתן לבצע פעולה בתוך היקף אסטרטגיית ההפצה. כדי לתקן את השגיאה, אנא העבר None
לפראם distribution_strategy
וצור מופע אסטרטגיה כחלק מקוד ההדרכה שלך כפי שמוצג בדוגמה זו .
זמן קצוב לבניית תמונה של Docker
שגיאה כמו : requests.exceptions.ConnectionError: ('החיבור הופסק.', פסק זמן ('פג פסק הזמן של פעולת הכתיבה'))
פתרון : סביר להניח שהספרייה המשמשת כנקודת כניסה מכילה יותר מדי נתונים כדי שהתמונה תוכל לבנות בהצלחה, וייתכן שיש נתונים זרים הכלולים בבנייה. עצב מחדש את מבנה הספריות שלך כך שהתיקיה המכילה את נקודת הכניסה תכלול רק קבצים הדרושים לפרויקט הנוכחי.
גרסה לא נתמכת לאימון TPU
שגיאה כמו : אירעה שגיאה בהגשת העבודה. שדה: tpu_tf_version שגיאה: גרסת זמן הריצה שצוינה '2.3' אינה נתמכת לאימון TPU. נא לציין גרסת זמן ריצה אחרת.
פתרון : אנא השתמש ב-TF גרסה 2.1. ראה אסטרטגיית TPU בסעיף תצורת אשכול ואסטרטגיית הפצה .
TF בנייה לילית.
אזהרה כמו : תמונת האב '2.4.0.dev20200720' של Docker לא קיימת. שימוש במבנה הלילי האחרון של TF.
פתרון : אם אינך מספק param docker_config.parent_image
, אז כברירת מחדל אנו משתמשים בתמונות TF docker שנבנו מראש כתמונת אב. אם אין לך TF מותקן בסביבה שבה נקראת run
, אזי תשתמש בתמונת TF docker עבור המהדורה היציבה latest
. אחרת, הגרסה של תמונת docker תתאים לגרסת TF המותקנת מקומית. עם זאת, תמונות TF docker מובנות מראש אינן זמינות עבור שירי לילה של TF למעט העדכניות ביותר. לכן, אם ה-TF המקומי שלך הוא גרסה לילית ישנה יותר, אנו משדרגים אוטומטית לגרסה הלילית העדכנית ביותר ומעלים אזהרה זו.
ערבוב אובייקטים של אסטרטגיית הפצה.
שגיאה כמו : RuntimeError: ערבוב אובייקטי tf.distribute.Strategy שונים.
פתרון : אנא ספק distribution_strategy=None
כאשר כבר יש לך אסטרטגיית הפצה שהוגדרה בקוד הדגם שלך. ציון distribution_strategy'='auto'
, יעטוף את הקוד שלך באסטרטגיית הפצה של TensorFlow. זה יגרום לשגיאה שלעיל, אם יש אובייקט אסטרטגיה שכבר נעשה בו שימוש בקוד שלך.