תוספות TensorFlow




TensorFlow Addons הוא מאגר של תרומות שמתאימים דפוסי API ומבוססת, אבל ליישם פונקציונליות חדשה לא זמין TensorFlow הליבה. TensorFlow תומך באופן מקורי במספר רב של אופרטורים, שכבות, מדדים, הפסדים ומייעל. עם זאת, בתחום שזז במהירות כמו ML, יש הרבה פיתוחים חדשים ומעניינים שלא ניתן לשלב אותם בליבת TensorFlow (מכיוון שהישימות הרחבה שלהם עדיין לא ברורה, או שהיא משמשת בעיקר תת-קבוצה קטנה יותר של הקהילה).

הַתקָנָה

מבנים יציבים

כדי להתקין את הגרסה העדכנית ביותר, הפעל את הפעולות הבאות:

pip install tensorflow-addons

כדי להשתמש בתוספים:

import tensorflow as tf
import tensorflow_addons as tfa

בניות ליליות

ישנם גם לילי בונה של Addons TensorFlow תחת חבילת PIP tfa-nightly , אשר בנוי על גרסת היציבה האחרונה של TensorFlow. בנייה לילית כוללת תכונות חדשות יותר, אך עשויות להיות פחות יציבות מהגרסאות המהדורות.

pip install tfa-nightly

התקנה ממקור

אתה יכול גם להתקין ממקור. זה דורש בזל מערכת לבנות.

git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_TOOLKIT_PATH="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl

מושגי ליבה

API סטנדרטי בתוך חבילות משנה

חווית משתמש ותחזוקה של פרויקטים הם מושגי ליבה ב-TF-Addons. כדי להשיג את אלה אנו דורשים שהתוספות שלנו יתאימו לדפוסי API שנקבעו ב- TensorFlow הליבה.

GPU/CPU מותאמים אישית

היתרון העיקרי של תוספות TensorFlow הוא שיש אופציות מהודרות מראש. אם התקנת CUDA 10 לא תימצא אז ההפעלה תיפול אוטומטית למימוש CPU.

תחזוקת פרוקסי

Addons תוכננו לחלק חבילות משנה ותת-מודולים, כך שיוכלו להישמר על ידי משתמשים שיש להם מומחיות ועניין ברכיב זה.

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

לקבלת מידע נוסף, ראה את ה RFC בנושא זה.

הערכה תקופתית של חבילות משנה

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

  1. מספר המתחזקים הפעילים
  2. כמות השימוש ב-OSS
  3. כמות הבעיות או הבאגים המיוחסים לקוד
  4. אם קיים כעת פתרון טוב יותר

ניתן לסווג את הפונקציונליות בתוך TensorFlow Addons לשלוש קבוצות:

  • מוצע: API מתוחזק היטב; השימוש מעודד.
  • מתייאש: אלטרנטיבה טובה יותר נגישה; ה-API נשמר מסיבות היסטוריות; או שה-API דורש תחזוקה והיא תקופת ההמתנה לביטול.
  • Deprecated: שימוש על אחריותך בלבד; בכפוף למחיקה.

שינוי הסטטוס בין שלוש הקבוצות הללו הוא: מוצע <-> מיואש -> הוצא משימוש.

התקופה בין סימון ה-API כהוצא משימוש ועד למחיקה תהיה 90 יום. הרציונל הוא:

  1. במקרה שתוספות TensorFlow יוצאות מדי חודש, יהיו 2-3 מהדורות לפני מחיקת API. הערות השחרור יכולות לתת למשתמש מספיק אזהרה.

  2. 90 ימים נותנים למתחילים מספיק זמן לתקן את הקוד שלהם.

תורם

TF-Addons הוא פרויקט קוד פתוח בראשות הקהילה. ככזה, הפרויקט תלוי בתרומות ציבוריות, תיקוני באגים ותיעוד. אנא ראה הנחיות תרומה עבור מדריך על איך לתרום. פרויקט זה שומר הקוד של TensorFlow התנהגות . על ידי השתתפות, אתה צפוי לשמור על קוד זה.

קהילה

רישיון

רישיון אפאצ'י 2.0