בעיות ידועות

המנוע הבסיסי מאחורי האלגוריתמים של יערות ההחלטה המשמשים את TensorFlow Decision Forests נבדקו בהרחבה. קובץ זה מפרט כמה מהבעיות הידועות.

ראה גם את מדריך ההגירה להתנהגות שונה מאלגוריתמים אחרים.

חבילת Windows Pip אינה זמינה

TensorFlow Decision Forests עדיין לא זמין כחבילת Windows Pip.

דרכים לעקיפת הבעיה:

אי התאמה ל-Keras 3

תאימות עם Keras 3 עדיין לא מיושמת. השתמש ב-tf_keras או בגרסת TensorFlow לפני 2.16.

לא נבדק עבור קונדה

למרות ש-TF-DF עשוי לעבוד עם Conda, זה לא נבדק וכרגע איננו מתחזקים חבילות ב-conda-forge.

אי תאימות עם גרסאות ישנות או ליליות של TensorFlow

ה-ABI של TensorFlow אינו תואם בין מהדורות. מכיוון ש-TF-DF מסתמך על פעולות מותאמות אישית של TensorFlow C++, כל גרסה של TF-DF קשורה לגרסה ספציפית של TensorFlow. הגרסה האחרונה שפורסמה של TF-DF קשורה תמיד לגרסה האחרונה שפורסמה של TensorFlow.

מסיבות אלו, ייתכן שהגרסה הנוכחית של TF-DF לא תואמת לגרסאות ישנות יותר או לבנייה הלילית של TensorFlow.

אם אתה משתמש בגרסאות לא תואמות של TF ו-TF-DF, תראה שגיאות סתמיות כגון:

tensorflow_decision_forests/tensorflow/ops/training/training.so: undefined symbol: _ZN10tensorflow11GetNodeAttrERKNS_9AttrSliceEN4absl14lts_2020_09_2311string_viewEPSs
  • השתמש בגרסה של TF-DF התואמת לגרסה שלך של TensorFlow.

טבלת תאימות

הטבלה הבאה מציגה את התאימות בין tensorflow_decision_forests והתלות שלה:

tensorflow_decision_forests זרימת טנסור
1.9.0 2.16.1
1.8.0 - 1.8.1 2.15.0
1.6.0 - 1.7.0 2.14.0
1.5.0 2.13.0
1.3.0 - 1.4.0 2.12.0
1.1.0 - 1.2.0 2.11.0
1.0.0 - 1.0.1 2.10.0 - 2.10.1
0.2.6 - 0.2.7 2.9.1
0.2.5 2.9
0.2.4 2.8
0.2.1 - 0.2.3 2.7
0.1.9 - 0.2.0 2.6
0.1.1 - 0.1.8 2.5
0.1.0 2.4
  • פתרון מס' 2: עטפו את פונקציית העיבוד המקדים שלכם בפונקציה אחרת שסוחטת את הכניסות שלה.

לא כל הדגמים תומכים באסטרטגיות אימון מבוזר ואסטרטגיות הפצה

אלא אם כן צוין, הדגמים מאומנים על מכונה אחת ואינם תואמים לאסטרטגיות הפצה. לדוגמה, GradientBoostedTreesModel אינו תומך באימון מבוזר בעוד DistributedGradientBoostedTreesModel .

דרכים לעקיפת הבעיה:

  • השתמש במודל התומך באסטרטגיות הפצה (למשל DistributedGradientBoostedTreesModel ), או דגום את מערך הנתונים שלך כך שיתאים למחשב יחיד.

אין תמיכה ב-GPU/TPU.

TF-DF אינו תומך באימון GPU או TPU. קומפילציה עם הוראות AVX, לעומת זאת, עשויה להאיץ את ההגשה.

אין תמיכה עבור model_to_estimator

TF-DF אינו מיישם את ממשקי ה-API הנדרשים להמרת מודל מאומן/לא מאומן לפורמט האומד.

מודלים טעונים מתנהגים אחרת מדגמי Python.

בזמן שהוא מופשט על ידי ה-API של Keras, מודל המופק ב-Python (למשל, עם tfdf.keras.RandomForestModel() ) ומודל שנטען מהדיסק (למשל, עם tf_keras.models.load_model() ) יכולים להתנהג בצורה שונה. יש לציין, מודל מופע של Python מחיל אוטומטית המרות סוגים נחוצות. לדוגמה, אם תכונת float64 מוזנת למודל המצפה לתכונה float32 , המרה זו מבוצעת באופן מרומז. עם זאת, המרה כזו אינה אפשרית עבור דגמים שנטענו מדיסק. לכן חשוב שנתוני האימון ונתוני ההסקה יהיו תמיד מאותו סוג בדיוק.

חיטוי שם תכונה Tensorflow

Tensorflow מחטא את שמות התכונות ויכול, למשל, להמיר אותם לאותיות קטנות.