
TensorFlow Addons เป็นพื้นที่เก็บข้อมูลของผลงานที่สอดคล้องกับที่ดีขึ้นรูปแบบ API แต่ใช้การทำงานใหม่ไม่สามารถใช้ได้ใน TensorFlow หลัก TensorFlow รองรับตัวดำเนินการ เลเยอร์ ตัวชี้วัด ความสูญเสีย และตัวเพิ่มประสิทธิภาพจำนวนมากโดยกำเนิด อย่างไรก็ตาม ในสาขาที่เคลื่อนไหวอย่างรวดเร็ว เช่น ML มีการพัฒนาใหม่ที่น่าสนใจมากมายที่ไม่สามารถรวมเข้ากับ TensorFlow หลักได้ (เนื่องจากการใช้งานในวงกว้างยังไม่ชัดเจน หรือส่วนใหญ่จะใช้โดยกลุ่มย่อยที่เล็กกว่าของชุมชน)
การติดตั้ง
บิลด์ที่เสถียร
ในการติดตั้งเวอร์ชันล่าสุด ให้รันสิ่งต่อไปนี้:
pip install tensorflow-addons
ในการใช้ส่วนเสริม:
import tensorflow as tf
import tensorflow_addons as tfa
งานสร้างทุกคืน
นอกจากนี้ยังมียามค่ำคืนสร้างของ TensorFlow Addons ภายใต้แพคเกจ pip tfa-nightly
ซึ่งถูกสร้างขึ้นเมื่อเทียบกับรุ่นที่มีเสถียรภาพล่าสุด TensorFlow บิลด์ทุกคืนมีฟีเจอร์ที่ใหม่กว่า แต่อาจมีความเสถียรน้อยกว่ารุ่นที่มีเวอร์ชัน
pip install tfa-nightly
กำลังติดตั้งจากแหล่งที่มา
คุณยังสามารถติดตั้งจากแหล่งที่มา นี้ต้อง Bazel สร้างระบบ
git clone https://github.com/tensorflow/addons.git
cd addons
# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_TOOLKIT_PATH="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)
# This script links project with TensorFlow dependency
python3 ./configure.py
bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts
pip install artifacts/tensorflow_addons-*.whl
แนวคิดหลัก
API มาตรฐานภายในแพ็คเกจย่อย
ประสบการณ์ผู้ใช้และการบำรุงรักษาโครงการเป็นแนวคิดหลักใน TF-Addons เพื่อให้บรรลุสิ่งเหล่านี้ เราต้องการให้ส่วนเสริมของเราสอดคล้องกับรูปแบบ API ที่สร้างขึ้นซึ่งเห็นใน TensorFlow หลัก
GPU/CPU Custom-Ops
ประโยชน์ที่สำคัญของ TensorFlow Addons คือมี ops ที่คอมไพล์ล่วงหน้า หากไม่พบการติดตั้ง CUDA 10 op จะถอยกลับไปสู่การใช้งาน CPU โดยอัตโนมัติ
การดูแลพร็อกซี่
ส่วนเสริมได้รับการออกแบบมาเพื่อแบ่งกลุ่มแพ็คเกจย่อยและโมดูลย่อยเพื่อให้สามารถดูแลรักษาได้โดยผู้ใช้ที่มีความเชี่ยวชาญและมีส่วนได้ส่วนเสียในส่วนประกอบนั้น
ผู้ดูแลแพ็คเกจย่อยจะได้รับหลังจากมีการสนับสนุนจำนวนมากเพื่อจำกัดจำนวนผู้ใช้ที่มีสิทธิ์ในการเขียน การมีส่วนร่วมอาจมาในรูปแบบของการปิดปัญหา การแก้ไขจุดบกพร่อง เอกสารประกอบ รหัสใหม่ หรือการเพิ่มประสิทธิภาพรหัสที่มีอยู่ ผู้ดูแลโมดูลย่อยสามารถได้รับโดยมีอุปสรรคที่ต่ำกว่าสำหรับการเข้า เนื่องจากจะไม่รวมสิทธิ์ในการเขียนไปยัง repo
สำหรับข้อมูลเพิ่มเติมดู อา ในหัวข้อนี้
การประเมินผลของแพ็คเกจย่อยเป็นระยะ
ด้วยลักษณะของที่เก็บนี้ แพ็คเกจย่อยและโมดูลย่อยอาจมีประโยชน์ต่อชุมชนน้อยลงเรื่อยๆ เมื่อเวลาผ่านไป เพื่อให้ที่เก็บมีความยั่งยืน เราจะทำการตรวจสอบโค้ดของเราทุกๆ 2 ปี เพื่อให้แน่ใจว่าทุกอย่างยังอยู่ใน repo ปัจจัยสนับสนุนในการตรวจสอบนี้จะเป็น:
- จำนวนผู้ดูแลที่ใช้งานอยู่
- ปริมาณการใช้ OSS
- จำนวนปัญหาหรือข้อบกพร่องที่เกิดจากรหัส
- ถ้าตอนนี้มีทางออกที่ดีกว่า
การทำงานภายใน TensorFlow Addons สามารถแบ่งออกเป็นสามกลุ่ม:
- แนะนำ: บำรุงรักษาอย่างดี API; แนะนำให้ใช้
- กำลังใจ: ทางเลือกที่ดีสามารถใช้ได้; API ถูกเก็บไว้ด้วยเหตุผลทางประวัติศาสตร์ หรือ API ต้องการการบำรุงรักษาและเป็นช่วงรอที่จะเลิกใช้งาน
- เลิกใช้งาน: ใช้งานที่มีความเสี่ยงของคุณเอง; เรื่องที่จะลบ
การเปลี่ยนสถานะระหว่างสามกลุ่มนี้คือ: แนะนำ <-> ไม่สนับสนุน -> เลิกใช้แล้ว
ระยะเวลาระหว่าง API ที่ถูกทำเครื่องหมายว่าเลิกใช้แล้วและกำลังถูกลบคือ 90 วัน เหตุผลคือ:
ในกรณีที่ TensorFlow Addons เผยแพร่เป็นรายเดือน จะมีการเผยแพร่ 2-3 รายการก่อนที่ API จะถูกลบ บันทึกประจำรุ่นสามารถให้คำเตือนแก่ผู้ใช้ได้เพียงพอ
90 วันทำให้ผู้ดูแลมีเวลาเหลือเฟือในการแก้ไขโค้ด
การบริจาค
TF-Addons เป็นโครงการโอเพ่นซอร์สที่นำโดยชุมชน ดังนั้น โครงการจึงขึ้นอยู่กับการช่วยเหลือสาธารณะ การแก้ไขจุดบกพร่อง และเอกสารประกอบ โปรดดู แนวทางการมีส่วนร่วม สำหรับคำแนะนำเกี่ยวกับวิธีการมีส่วนร่วม โครงการนี้เป็นไปตาม รหัส TensorFlow ของการดำเนินการ โดยเข้าร่วม คุณจะต้องรักษารหัสนี้
ชุมชน
- รายชื่อส่งจดหมายสาธารณะ
- บันทึกการประชุมรายเดือน SIG
- เข้าร่วมรายชื่อผู้รับจดหมายของเราและรับคำเชิญในปฏิทินให้เข้าร่วมการประชุม