التحقق من صحة بيانات TensorFlow

عرض على جيثب

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 .