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 เช่น TensorFlow Metadata (TFMD) และ TFX Basic Shared Libraries (TFX-BSL)
บางครั้ง TFDV จะใช้การเปลี่ยนแปลงล่าสุดของการอ้างอิงเหล่านั้น ซึ่งยังไม่ได้เผยแพร่ ด้วยเหตุนี้ จึงปลอดภัยกว่าหากใช้ไลบรารีที่ขึ้นต่อกันในเวอร์ชันกลางคืนเมื่อใช้ TFDV ทุกคืน ส่งออกตัวแปรสภาพแวดล้อม TFX_DEPENDENCY_SELECTOR
เพื่อดำเนินการดังกล่าว
สร้างด้วยนักเทียบท่า
นี่เป็นวิธีที่แนะนำในการสร้าง TFDV บน Linux และได้รับการทดสอบอย่างต่อเนื่องที่ Google
1. ติดตั้งนักเทียบท่า
ก่อนอื่นโปรดติดตั้ง docker
และ docker-compose
โดยทำตามคำแนะนำ: docker ; นักเทียบท่าเขียน
2. โคลนพื้นที่เก็บข้อมูล TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
โปรดทราบว่าคำแนะนำเหล่านี้จะติดตั้งสาขาหลักล่าสุดของการตรวจสอบข้อมูล TensorFlow หากคุณต้องการติดตั้งสาขาเฉพาะ (เช่น สาขา release) ให้ส่ง -b <branchname>
ไปยังคำสั่ง git clone
3. สร้างแพ็คเกจ pip
จากนั้น รันสิ่งต่อไปนี้ที่รูทโปรเจ็กต์:
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 บนระบบของคุณ ให้ติดตั้งทันทีโดยทำตาม คำแนะนำเหล่านี้
2. โคลนพื้นที่เก็บข้อมูล TFDV
git clone https://github.com/tensorflow/data-validation
cd data-validation
โปรดทราบว่าคำแนะนำเหล่านี้จะติดตั้งสาขาหลักล่าสุดของการตรวจสอบข้อมูล TensorFlow หากคุณต้องการติดตั้งสาขาเฉพาะ (เช่น สาขา release) ให้ส่ง -b <branchname>
ไปยังคำสั่ง git clone
3. สร้างแพ็คเกจ pip
TFDV
wheel ขึ้นอยู่กับเวอร์ชันของ Python ในการสร้างแพ็คเกจ pip ที่ใช้ได้กับเวอร์ชัน Python เฉพาะ ให้ใช้ไบนารี่ของ Python นั้นเพื่อรัน:
python setup.py bdist_wheel
คุณสามารถค้นหาไฟล์ .whl
ที่สร้างขึ้นได้ในไดเร็กทอรี dist
4. ติดตั้งแพ็คเกจ pip
pip install dist/*.whl
แพลตฟอร์มที่รองรับ
TFDV ได้รับการทดสอบบนระบบปฏิบัติการ 64 บิตต่อไปนี้:
- macOS 12.5 (มอนเทอเรย์) หรือใหม่กว่า
- อูบุนตู 20.04 หรือใหม่กว่า
การพึ่งพาอาศัยกันที่โดดเด่น
ต้องใช้ TensorFlow
จำเป็นต้องมี Apache Beam เป็นวิธีการสนับสนุนการคำนวณแบบกระจายที่มีประสิทธิภาพ ตามค่าเริ่มต้น Apache Beam จะทำงานในโหมดภายในเครื่อง แต่ยังสามารถทำงานในโหมดกระจายโดยใช้ Google Cloud Dataflow และ Apache Beam runners อื่นๆ ได้ด้วย
จำเป็นต้องมี Apache Arrow ด้วย TFDV ใช้ Arrow เพื่อแสดงข้อมูลภายในเพื่อใช้ฟังก์ชันตัวเลขแบบเวกเตอร์
รุ่นที่เข้ากันได้
ตารางต่อไปนี้แสดงเวอร์ชันแพ็คเกจที่เข้ากันได้ สิ่งนี้กำหนดโดยกรอบการทดสอบของเรา แต่ชุดค่าผสม ที่ยังไม่ทดสอบ อื่นๆ อาจใช้งานได้เช่นกัน
การตรวจสอบข้อมูลเทนเซอร์โฟลว์ | apache-คาน [gcp] | เปียร์โรว์ | เทนเซอร์โฟลว์ | เมตาดาต้าเทนเซอร์โฟลว์ | การแปลงเทนเซอร์โฟลว์ | tfx-bsl |
---|---|---|---|---|---|---|
ต้นแบบ GitHub | 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 ไปยัง Stack Overflow โดยใช้แท็ก tensorflow-data-validation
ลิงค์
- คู่มือเริ่มต้นใช้งานการตรวจสอบความถูกต้องของข้อมูล TensorFlow
- สมุดบันทึกการตรวจสอบข้อมูล TensorFlow
- เอกสาร API การตรวจสอบความถูกต้องของข้อมูล TensorFlow
- โพสต์ในบล็อกการตรวจสอบความถูกต้องของข้อมูล TensorFlow
- PyPI การตรวจสอบข้อมูล TensorFlow
- เอกสารตรวจสอบข้อมูล TensorFlow
- สไลด์การตรวจสอบข้อมูล TensorFlow