อนาคตของส่วนเสริม TensorFlow
import tensorflow as tf import tensorflow_addons as tfa train,test = tf.keras.datasets.mnist.load_data() x_train, y_train = train x_train = x_train[..., tf.newaxis] / 255.0 # TFA layers and activations model = tf.keras.Sequential([ tf.keras.layers.Conv2D(filters=10, kernel_size=(3,3), activation=tfa.activations.gelu), tfa.layers.GroupNormalization(groups=5, axis=3), tf.keras.layers.Flatten(), tf.keras.layers.Dense(10, activation='softmax') ]) # TFA optimizers, losses and metrics model.compile( optimizer=tfa.optimizers.RectifiedAdam(0.001), loss=tfa.losses.TripletSemiHardLoss(), metrics=[tfa.metrics.MultiLabelConfusionMatrix(num_classes=10)]) history = model.fit(x_train, y_train, epochs=10)
TensorFlow Addons (TFA) คือพื้นที่เก็บข้อมูลของชุมชนที่ได้รับการดูแลและสนับสนุนส่วนขยายสำหรับ TensorFlow ซึ่งสร้างขึ้นครั้งแรกในปี 2018 และดูแลโดยชุมชน SIG-Addons ตลอดระยะเวลา 4 ปีที่ผ่านมา ผู้ร่วมให้ข้อมูล 200 รายได้สร้างพื้นที่เก็บข้อมูล TFA ให้เป็นความสำเร็จที่ชุมชนเป็นเจ้าของและจัดการ ซึ่งมีการใช้งานโดยพื้นที่เก็บข้อมูล GitHub มากกว่า 8,000 แห่งตามกราฟการพึ่งพาของเรา เราอยากจะใช้เวลาสักครู่เพื่อขอบคุณทุกคนที่เกี่ยวข้องในฐานะผู้สนับสนุนหรือสมาชิกชุมชนสำหรับความพยายามของพวกเขาอย่างจริงใจ
เมื่อเร็ว ๆ นี้ มีการทับซ้อนกันมากขึ้นในการสนับสนุนและขอบเขตระหว่าง TFA และ Keras-CV และไลบรารี Keras-NLP เพื่อป้องกันการทับซ้อนกันในอนาคต เราเชื่อว่าส่วนเสริมใหม่และที่มีอยู่ของ TensorFlow จะได้รับการดูแลที่ดีที่สุดในที่เก็บโปรเจ็กต์ Keras หากเป็นไปได้
การตัดสินใจปิด TensorFlow Addons
เราเชื่อว่าเป็นประโยชน์สูงสุดของชุมชน TensorFlow ในการรวบรวมส่วนขยาย TensorFlow ที่สามารถนำมาใช้ บำรุงรักษา และมีส่วนร่วมได้ ด้วยเหตุนี้ จึงเป็นเรื่องน่ายินดีที่เราได้ประกาศแผนการที่จะย้าย TensorFlow Addons ไปที่โหมดการบำรุงรักษาและการเปิดตัวที่น้อยที่สุด
TFA SIG Addons จะสิ้นสุดการพัฒนาและการแนะนำคุณสมบัติใหม่ให้กับโปรเจ็กต์นี้ TFA จะเปลี่ยนไปใช้โหมดการบำรุงรักษาและเผยแพร่ขั้นต่ำเป็นเวลาหนึ่งปี (จนถึงเดือนพฤษภาคม 2024) เพื่อให้เวลาที่เหมาะสมสำหรับคุณในการปรับเปลี่ยนการขึ้นต่อกันกับพื้นที่เก็บข้อมูลที่ทับซ้อนกันในชุมชน TensorFlow ของเรา ( Keras , Keras-CV และ Keras-NLP ). นับจากนี้ไป โปรดพิจารณาสนับสนุนโครงการ Keras-CV และ Keras-NLP
พื้นหลัง:
ข้อเสนอ RFC ดั้งเดิม สำหรับ TFA ลงวันที่ 14-12-2561 โดยมีเป้าหมายที่ระบุไว้ในการสร้างพื้นที่เก็บข้อมูลที่จัดการโดยชุมชนสำหรับการสนับสนุนที่สอดคล้องกับรูปแบบ API ที่ได้รับการยอมรับอย่างดี แต่ใช้ฟังก์ชันใหม่ที่ไม่มีใน TensorFlow หลักตามที่กำหนดไว้ใน กลุ่มความสนใจพิเศษ ของเรา (SIG) กฎบัตร
เมื่อหลายปีผ่านไป แหล่งเก็บข้อมูลใหม่ที่มีชุมชนผู้มีส่วนร่วมที่มีสุขภาพดี (Keras-CV, Keras-NLP ฯลฯ) ได้ถูกสร้างขึ้นโดยมีเป้าหมายเดียวกันกับเรา และเกณฑ์สำหรับการยอมรับการมีส่วนร่วมทับซ้อนกันอย่างมีนัยสำคัญ (เช่น จำนวนการอ้างอิงที่จำเป็น) นอกจากนี้ เนื่องจาก Keras แยกออกจาก TensorFlow หลักในปี 2020 อุปสรรคในการสนับสนุนชุมชนก็ลดลงอย่างมาก
เป็นที่เข้าใจได้ว่า มีความคลุมเครือเพิ่มมากขึ้นเกี่ยวกับว่าการบริจาคควรไปถึงที่ใด และที่ใดจะได้รับการดูแลอย่างดีที่สุด คุณสมบัติหลายอย่างที่มีอยู่ใน TFA นั้นพร้อมใช้งานพร้อมกันในพื้นที่เก็บข้อมูล TensorFlow Community อื่นๆ เป็นเพียงตัวอย่างบางส่วน:
- คัตเอาท์แบบสุ่ม: TFA & Keras-CV
- เครื่องมือเพิ่มประสิทธิภาพ AdamW: TFA & Keras
- ความสนใจแบบหลายหัว: TFA และ Keras
ในฐานะส่วนหนึ่งของ RFC ดั้งเดิม กลุ่มความสนใจพิเศษ ของเราตกลงที่จะย้ายโค้ดจากที่เก็บ tf.contrib
และ keras.contrib
ในการทำเช่นนั้น TFA ได้สืบทอดการดำเนินการแบบกำหนดเองของ C++ ซึ่งทำให้ TFA เป็นสถานที่ที่ไม่เหมือนใครในชุมชน TensorFlow เพื่อสนับสนุนการดำเนินการแบบกำหนดเองของ C++ เพื่อสร้างและเผยแพร่ อย่างไรก็ตาม เมื่อเร็วๆ นี้เราได้ ย้ายโครงสร้างพื้นฐานส่วนใหญ่ไปยัง Keras-CV เพื่อให้สามารถรวบรวมและแจกจ่าย Ops แบบกำหนดเองได้ตามที่เห็นสมควร
อะไรต่อไป:
- การเผยแพร่การบำรุงรักษาจะดำเนินต่อไปเป็นเวลา 1 ปี (จนถึงเดือนพฤษภาคม 2024)
- คำเตือนการนำเข้าในรุ่น 0.20 TFA
- ข้อมูลนี้ได้รับการเผยแพร่ใน ปัญหาการติดตาม GitHub ด้วย
- รายการฟังก์ชันการทำงานที่เทียบเท่ามี อยู่ที่นี่