TensorFlow Data Validation (TFDV) هي مكتبة لاستكشاف بيانات التعلم الآلي والتحقق من صحتها. لقد تم تصميمه ليكون قابلاً للتطوير بشكل كبير ويعمل بشكل جيد مع TensorFlow و TensorFlow Extended (TFX) .
يتضمن التحقق من صحة بيانات TF ما يلي:
- حساب قابل للتوسيع لإحصائيات ملخص التدريب وبيانات الاختبار.
- التكامل مع العارض لتوزيع البيانات والإحصائيات، وكذلك مقارنة الأوجه لأزواج الميزات ( الأوجه )
- إنشاء مخطط بيانات آليًا لوصف التوقعات حول البيانات مثل القيم والنطاقات والمفردات المطلوبة
- عارض المخطط لمساعدتك في فحص المخطط.
- اكتشاف الحالات الشاذة لتحديد الحالات الشاذة، مثل الميزات المفقودة، أو القيم خارج النطاق، أو أنواع الميزات الخاطئة، على سبيل المثال لا الحصر.
- عارض الحالات الشاذة حتى تتمكن من معرفة الميزات التي بها حالات شاذة ومعرفة المزيد من أجل تصحيحها.
للحصول على إرشادات حول استخدام 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 الأساسية المشتركة (TFX-BSL).
في بعض الأحيان يستخدم TFDV أحدث التغييرات لهذه التبعيات، والتي لم يتم إصدارها بعد. ولهذا السبب، يعد استخدام الإصدارات الليلية من تلك المكتبات التابعة أكثر أمانًا عند استخدام TFDV ليلاً. قم بتصدير متغير البيئة TFX_DEPENDENCY_SELECTOR
للقيام بذلك.
البناء باستخدام Docker
هذه هي الطريقة الموصى بها لبناء TFDV على نظام Linux، ويتم اختبارها باستمرار في Google.
1. قم بتثبيت عامل الميناء
يرجى أولاً تثبيت docker
و docker-compose
باتباع التوجيهات: docker ؛ عامل ميناء يؤلف .
2. استنساخ مستودع TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
لاحظ أن هذه التعليمات ستقوم بتثبيت أحدث فرع رئيسي للتحقق من صحة بيانات TensorFlow. إذا كنت ترغب في تثبيت فرع معين (مثل فرع الإصدار)، قم بتمرير -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 install dist/*.whl
البناء من المصدر
1. المتطلبات الأساسية
لتجميع واستخدام TFDV، تحتاج إلى إعداد بعض المتطلبات الأساسية.
قم بتثبيت NumPy
إذا لم يكن NumPy مثبتًا على نظامك، فقم بتثبيته الآن باتباع هذه التوجيهات .
تثبيت بازل
إذا لم يكن Bazel مثبتًا على نظامك، فقم بتثبيته الآن باتباع هذه التوجيهات .
2. استنساخ مستودع TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
لاحظ أن هذه التعليمات ستقوم بتثبيت أحدث فرع رئيسي للتحقق من صحة بيانات TensorFlow. إذا كنت ترغب في تثبيت فرع معين (مثل فرع الإصدار)، قم بتمرير -b <branchname>
إلى أمر git clone
.
3. قم ببناء حزمة النقطة
تعتمد عجلة TFDV
على إصدار Python - لإنشاء حزمة النقطة التي تعمل مع إصدار Python محدد، استخدم ثنائي Python للتشغيل:
python setup.py bdist_wheel
يمكنك العثور على ملف .whl
الذي تم إنشاؤه في الدليل الفرعي dist
.
4. قم بتثبيت حزمة النقطة
pip install dist/*.whl
المنصات المدعومة
يتم اختبار TFDV على أنظمة التشغيل 64 بت التالية:
- macOS 12.5 (مونتيري) أو الأحدث.
- أوبونتو 20.04 أو الأحدث.
التبعيات البارزة
مطلوب TensorFlow.
مطلوب شعاع أباتشي ؛ إنها الطريقة التي يتم بها دعم الحساب الموزع الفعال. افتراضيًا، يعمل Apache Beam في الوضع المحلي ولكن يمكن تشغيله أيضًا في الوضع الموزع باستخدام Google Cloud Dataflow ومشغلات Apache Beam الأخرى.
سهم Apache مطلوب أيضًا. يستخدم TFDV السهم لتمثيل البيانات داخليًا من أجل الاستفادة من الوظائف العددية الموجهة.
الإصدارات المتوافقة
يوضح الجدول التالي إصدارات الحزمة المتوافقة مع بعضها البعض. يتم تحديد ذلك من خلال إطار الاختبار الخاص بنا، ولكن قد تعمل مجموعات أخرى لم يتم اختبارها أيضًا.
التحقق من صحة البيانات Tensorflow | شعاع أباتشي[gcp] | بيارو | com.tensorflow | البيانات الوصفية لـ Tensorflow | تحويل Tensorflow | tfx-bsl |
---|---|---|---|---|---|---|
سيد جيثب | 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 .