אימות נתונים של TensorFlow

הצג ב-GitHub

TensorFlow Data Validation (TFDV) היא ספרייה לחקירה ואימות נתוני למידת מכונה. זה תוכנן להיות ניתנת להרחבה ולעבוד היטב עם TensorFlow ו- TensorFlow Extended (TFX) .

אימות נתונים של TF כולל:

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

להנחיות לשימוש ב-TFDV, עיין במדריך התחלת העבודה ונסה את המחברת לדוגמה . חלק מהטכניקות המיושמות ב-TFDV מתוארות במאמר טכני שפורסם ב-SysML'19 .

התקנה מ- PyPI

הדרך המומלצת להתקנת TFDV היא שימוש בחבילת PyPI :

pip install tensorflow-data-validation

חבילות לילה

TFDV מארח גם חבילות לילה ב-Google Cloud. כדי להתקין את החבילה הלילית האחרונה, השתמש בפקודה הבאה:

export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation

זה יתקין את החבילות הליליות עבור התלות העיקריות של TFDV כגון TensorFlow Metadata (TFMD) ו-TFX Basic Shared Libraries (TFX-BSL).

לפעמים TFDV משתמש בשינויים האחרונים של התלות הללו, שעדיין לא פורסמו. בגלל זה, בטוח יותר להשתמש בגרסאות לילה של אותן ספריות תלויות בעת שימוש ב-TFDV לילי. ייצא את משתנה הסביבה TFX_DEPENDENCY_SELECTOR כדי לעשות זאת.

בנה עם Docker

זוהי הדרך המומלצת לבנות TFDV תחת לינוקס, והיא נבדקת באופן רציף בגוגל.

1. התקן את Docker

אנא התקן תחילה docker ו- docker-compose על ידי ביצוע ההוראות: docker ; docker-compose .

2. שכבו את מאגר ה-TFDV

git clone https://github.com/tensorflow/data-validation
cd data-validation

שים לב שהוראות אלה יתקינו את ענף המאסטר העדכני ביותר של TensorFlow Data Validation. אם ברצונך להתקין ענף ספציפי (כגון ענף שחרור), העבר -b <branchname> לפקודה git clone .

3. בנה את חבילת ה-pip

לאחר מכן, הפעל את הדברים הבאים בשורש הפרויקט:

sudo docker-compose build manylinux2010
sudo docker-compose run -e PYTHON_VERSION=${PYTHON_VERSION} manylinux2010

כאשר PYTHON_VERSION הוא אחד מ- {39, 310, 311} .

גלגל ייוצר תחת dist/ .

4. התקן את חבילת ה-pip

pip install dist/*.whl

בנה ממקור

1. דרישות קדם

כדי להדר ולהשתמש ב-TFDV, עליך להגדיר כמה דרישות מוקדמות.

התקן את NumPy

אם NumPy אינו מותקן במערכת שלך, התקן אותו כעת על ידי ביצוע ההנחיות הבאות .

התקן את Bazel

אם Bazel אינו מותקן במערכת שלך, התקן אותו כעת על ידי ביצוע ההנחיות הבאות .

2. שכפל את מאגר TFDV

git clone https://github.com/tensorflow/data-validation
cd data-validation

שים לב שהוראות אלה יתקינו את ענף המאסטר העדכני ביותר של TensorFlow Data Validation. אם אתה רוצה להתקין ענף ספציפי (כגון ענף שחרור), העבר -b <branchname> לפקודה git clone .

3. בנה את חבילת ה-pip

גלגל TFDV תלוי בגרסת Python -- כדי לבנות את חבילת ה-pip שעובדת עבור גרסת Python ספציפית, השתמש בבינארי של Python כדי להפעיל:

python setup.py bdist_wheel

אתה יכול למצוא את קובץ .whl שנוצר בספריית המשנה dist .

4. התקן את חבילת ה-pip

pip install dist/*.whl

פלטפורמות נתמכות

TFDV נבדק במערכות ההפעלה הבאות של 64 סיביות:

  • macOS 12.5 (Monterey) ואילך.
  • אובונטו 20.04 ואילך.

תלות בולטת

נדרש TensorFlow.

נדרשת Apache Beam ; זו הדרך שבה נתמך חישוב מבוזר יעיל. כברירת מחדל, Apache Beam פועל במצב מקומי אך יכול לפעול גם במצב מבוזר באמצעות Google Cloud Dataflow ורצפי Apache Beam אחרים.

נדרש גם חץ אפאצ'י . TFDV משתמש בחץ כדי לייצג נתונים פנימית על מנת לעשות שימוש בפונקציות numpy מוקטורות.

גרסאות תואמות

הטבלה הבאה מציגה את גרסאות החבילה התואמות זו לזו. זה נקבע על ידי מסגרת הבדיקה שלנו, אבל שילובים אחרים שטרם נבדקו עשויים לעבוד גם הם.

tensorflow-data-validation apache-beam[gcp] פירו זרימת טנסור tensorflow-metadata טרנספורמציה של זרימת טנסור tfx-bsl
מאסטר GitHub 2.47.0 10.0.0 מדי לילה (1.x/2.x) 1.15.0 לא 1.15.1
1.15.1 2.47.0 10.0.0 2.15 1.15.0 לא 1.15.1
1.15.0 2.47.0 10.0.0 2.15 1.15.0 לא 1.15.0
1.14.0 2.47.0 10.0.0 2.13 1.14.0 לא 1.14.0
1.13.0 2.40.0 6.0.0 2.12 1.13.1 לא 1.13.0
1.12.0 2.40.0 6.0.0 2.11 1.12.0 לא 1.12.0
1.11.0 2.40.0 6.0.0 1.15 / 2.10 1.11.0 לא 1.11.0
1.10.0 2.40.0 6.0.0 1.15 / 2.9 1.10.0 לא 1.10.1
1.9.0 2.38.0 5.0.0 1.15 / 2.9 1.9.0 לא 1.9.0
1.8.0 2.38.0 5.0.0 1.15 / 2.8 1.8.0 לא 1.8.0
1.7.0 2.36.0 5.0.0 1.15 / 2.8 1.7.0 לא 1.7.0
1.6.0 2.35.0 5.0.0 1.15 / 2.7 1.6.0 לא 1.6.0
1.5.0 2.34.0 2.0.0 1.15 / 2.7 1.5.0 לא 1.5.0
1.4.0 2.32.0 2.0.0 1.15 / 2.6 1.4.0 לא 1.4.0
1.3.0 2.32.0 2.0.0 1.15 / 2.6 1.2.0 לא 1.3.0
1.2.0 2.31.0 2.0.0 1.15 / 2.5 1.2.0 לא 1.2.0
1.1.1 2.29.0 2.0.0 1.15 / 2.5 1.1.0 לא 1.1.1
1.1.0 2.29.0 2.0.0 1.15 / 2.5 1.1.0 לא 1.1.0
1.0.0 2.29.0 2.0.0 1.15 / 2.5 1.0.0 לא 1.0.0
0.30.0 2.28.0 2.0.0 1.15 / 2.4 0.30.0 לא 0.30.0
0.29.0 2.28.0 2.0.0 1.15 / 2.4 0.29.0 לא 0.29.0
0.28.0 2.28.0 2.0.0 1.15 / 2.4 0.28.0 לא 0.28.1
0.27.0 2.27.0 2.0.0 1.15 / 2.4 0.27.0 לא 0.27.0
0.26.1 2.28.0 0.17.0 1.15 / 2.3 0.26.0 0.26.0 0.26.0
0.26.0 2.25.0 0.17.0 1.15 / 2.3 0.26.0 0.26.0 0.26.0
0.25.0 2.25.0 0.17.0 1.15 / 2.3 0.25.0 0.25.0 0.25.0
0.24.1 2.24.0 0.17.0 1.15 / 2.3 0.24.0 0.24.1 0.24.1
0.24.0 2.23.0 0.17.0 1.15 / 2.3 0.24.0 0.24.0 0.24.0
0.23.1 2.24.0 0.17.0 1.15 / 2.3 0.23.0 0.23.0 0.23.0
0.23.0 2.23.0 0.17.0 1.15 / 2.3 0.23.0 0.23.0 0.23.0
0.22.2 2.20.0 0.16.0 1.15 / 2.2 0.22.0 0.22.0 0.22.1
0.22.1 2.20.0 0.16.0 1.15 / 2.2 0.22.0 0.22.0 0.22.1
0.22.0 2.20.0 0.16.0 1.15 / 2.2 0.22.0 0.22.0 0.22.0
0.21.5 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.1 0.21.3
0.21.4 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.1 0.21.3
0.21.2 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.21.1 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.21.0 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0 0.21.0
0.15.0 2.16.0 0.14.0 1.15 / 2.0 0.15.0 0.15.0 0.15.0
0.14.1 2.14.0 0.14.0 1.14 0.14.0 0.14.0 לא
0.14.0 2.14.0 0.14.0 1.14 0.14.0 0.14.0 לא
0.13.1 2.11.0 לא 1.13 0.12.1 0.13.0 לא
0.13.0 2.11.0 לא 1.13 0.12.1 0.13.0 לא
0.12.0 2.10.0 לא 1.12 0.12.1 0.12.0 לא
0.11.0 2.8.0 לא 1.11 0.9.0 0.11.0 לא
0.9.0 2.6.0 לא 1.9 לא לא לא

שאלות

אנא הפנה כל שאלה בנוגע לעבודה עם TF Data Validation ל- Stack Overflow באמצעות תג tensorflow-data-validation .