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 ارسال کنید.