اعتبارسنجی داده های 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 مانند Metadata TensorFlow (TFMD) و TFX Basic Shared Libraries (TFX-BSL) نصب می‌کند.

گاهی اوقات TFDV از آخرین تغییرات آن وابستگی ها استفاده می کند که هنوز منتشر نشده اند. به همین دلیل، هنگام استفاده از TFDV شبانه، استفاده از نسخه های شبانه آن کتابخانه های وابسته ایمن تر است. برای انجام این کار، متغیر محیطی TFX_DEPENDENCY_SELECTOR را صادر کنید.

با داکر بسازید

این روش توصیه شده برای ساخت 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. پکیج پیپ را بسازید

سپس موارد زیر را در ریشه پروژه اجرا کنید:

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. پکیج پیپ را بسازید

چرخ TFDV وابسته به نسخه پایتون است -- برای ساخت بسته پیپ که برای یک نسخه خاص پایتون کار می کند، از آن باینری پایتون برای اجرا استفاده کنید:

python setup.py bdist_wheel

می توانید فایل .whl ایجاد شده را در زیر شاخه dist پیدا کنید.

4. بسته pip را نصب کنید

pip install dist/*.whl

پلتفرم های پشتیبانی شده

TFDV بر روی سیستم عامل های 64 بیتی زیر تست شده است:

  • macOS 12.5 (Monterey) یا جدیدتر.
  • اوبونتو 20.04 یا بالاتر.

وابستگی های قابل توجه

TensorFlow مورد نیاز است.

پرتو آپاچی مورد نیاز است. این روشی است که از محاسبات توزیع شده کارآمد پشتیبانی می شود. به طور پیش‌فرض، پرتو Apache در حالت محلی اجرا می‌شود، اما همچنین می‌تواند در حالت توزیع شده با استفاده از Google Cloud Dataflow و سایر اجراکننده‌های پرتو Apache اجرا شود.

Apache Arrow نیز مورد نیاز است. TFDV از پیکان برای نمایش داده‌ها به صورت داخلی استفاده می‌کند تا از توابع numpy بردار استفاده کند.

نسخه های سازگار

جدول زیر نسخه های بسته سازگار با یکدیگر را نشان می دهد. این توسط چارچوب تست ما تعیین می شود، اما سایر ترکیبات آزمایش نشده نیز ممکن است کار کنند.

tensorflow-data-validation پرتو آپاچی[gcp] پیارو جریان تنسور tensorflow-metadata تانسور جریان-تبدیل tfx-bsl
استاد GitHub 2.47.0 10.0.0 شبانه (1.x/2.x) 1.15.0 n/a 1.15.1
1.15.1 2.47.0 10.0.0 2.15 1.15.0 n/a 1.15.1
1.15.0 2.47.0 10.0.0 2.15 1.15.0 n/a 1.15.0
1.14.0 2.47.0 10.0.0 2.13 1.14.0 n/a 1.14.0
1.13.0 2.40.0 6.0.0 2.12 1.13.1 n/a 1.13.0
1.12.0 2.40.0 6.0.0 2.11 1.12.0 n/a 1.12.0
1.11.0 2.40.0 6.0.0 1.15 / 2.10 1.11.0 n/a 1.11.0
1.10.0 2.40.0 6.0.0 1.15 / 2.9 1.10.0 n/a 1.10.1
1.9.0 2.38.0 5.0.0 1.15 / 2.9 1.9.0 n/a 1.9.0
1.8.0 2.38.0 5.0.0 1.15 / 2.8 1.8.0 n/a 1.8.0
1.7.0 2.36.0 5.0.0 1.15 / 2.8 1.7.0 n/a 1.7.0
1.6.0 2.35.0 5.0.0 1.15 / 2.7 1.6.0 n/a 1.6.0
1.5.0 2.34.0 2.0.0 1.15 / 2.7 1.5.0 n/a 1.5.0
1.4.0 2.32.0 2.0.0 1.15 / 2.6 1.4.0 n/a 1.4.0
1.3.0 2.32.0 2.0.0 1.15 / 2.6 1.2.0 n/a 1.3.0
1.2.0 2.31.0 2.0.0 1.15 / 2.5 1.2.0 n/a 1.2.0
1.1.1 2.29.0 2.0.0 1.15 / 2.5 1.1.0 n/a 1.1.1
1.1.0 2.29.0 2.0.0 1.15 / 2.5 1.1.0 n/a 1.1.0
1.0.0 2.29.0 2.0.0 1.15 / 2.5 1.0.0 n/a 1.0.0
0.30.0 2.28.0 2.0.0 1.15 / 2.4 0.30.0 n/a 0.30.0
0.29.0 2.28.0 2.0.0 1.15 / 2.4 0.29.0 n/a 0.29.0
0.28.0 2.28.0 2.0.0 1.15 / 2.4 0.28.0 n/a 0.28.1
0.27.0 2.27.0 2.0.0 1.15 / 2.4 0.27.0 n/a 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 n/a
0.14.0 2.14.0 0.14.0 1.14 0.14.0 0.14.0 n/a
0.13.1 2.11.0 n/a 1.13 0.12.1 0.13.0 n/a
0.13.0 2.11.0 n/a 1.13 0.12.1 0.13.0 n/a
0.12.0 2.10.0 n/a 1.12 0.12.1 0.12.0 n/a
0.11.0 2.8.0 n/a 1.11 0.9.0 0.11.0 n/a
0.9.0 2.6.0 n/a 1.9 n/a n/a n/a

سوالات

لطفاً هر گونه سؤال در مورد کار با TF Data Validation را با استفاده از برچسب tensorflow-data-validation به Stack Overflow ارسال کنید.