มีส่วนร่วมในพื้นที่เก็บข้อมูล TFDS

ขอขอบคุณที่สนใจห้องสมุดของเรา ! เรารู้สึกตื่นเต้นมากที่จะมีชุมชนที่มีแรงบันดาลใจเช่นนี้

เริ่ม

  • หากคุณเพิ่งเริ่มใช้ TFDS วิธีที่ง่ายที่สุดในการเริ่มต้นคือการใช้ ชุดข้อมูลที่ร้องขอชุด ใดชุดหนึ่งของเรา โดยเน้นที่ชุดข้อมูลที่ขอมากที่สุด ปฏิบัติตามคำแนะนำของเรา สำหรับคำแนะนำ
  • ปัญหา คำขอคุณลักษณะ ข้อบกพร่อง... มีผลกระทบมากกว่าการเพิ่มชุดข้อมูลใหม่ เนื่องจากสิ่งเหล่านี้เป็นประโยชน์ต่อชุมชน TFDS ทั้งหมด ดู รายการการมีส่วนร่วมที่เป็นไปได้ เริ่มต้นด้วยสิ่งที่ติดป้ายกำกับ ว่ายินดีให้ความช่วยเหลือ ซึ่งเป็นปัญหาเล็กๆ น้อยๆ ที่ต้องจัดการเองง่ายๆ ในการเริ่มต้น
  • อย่าลังเลที่จะแก้ไขข้อบกพร่องที่ได้รับมอบหมายแล้ว แต่ยังไม่ได้รับการอัปเดตมาระยะหนึ่งแล้ว
  • ไม่จำเป็นต้องได้รับปัญหาที่มอบหมายให้กับคุณ เพียงแสดงความคิดเห็นเกี่ยวกับปัญหาเมื่อคุณเริ่มทำงาน :)
  • อย่าลังเลที่จะขอความช่วยเหลือหากคุณสนใจปัญหาแต่ไม่รู้ว่าจะเริ่มต้นอย่างไร และโปรดส่งแบบร่างประชาสัมพันธ์หากคุณต้องการคำติชมตั้งแต่เนิ่นๆ
  • เพื่อหลีกเลี่ยงการทำงานซ้ำซ้อนโดยไม่จำเป็น ให้ตรวจสอบรายการ คำขอดึงที่รอดำเนินการ และแสดงความคิดเห็นเกี่ยวกับปัญหาที่คุณกำลังดำเนินการอยู่

ติดตั้ง

การโคลน repo

ในการเริ่มต้น ให้โคลนหรือดาวน์โหลดที่เก็บชุด ข้อมูล Tensorflow และติดตั้งที่เก็บในเครื่อง

git clone https://github.com/tensorflow/datasets.git
cd datasets/

ติดตั้งการพึ่งพาการพัฒนา:

pip install -e .  # Install minimal deps to use tensorflow_datasets
pip install -e ".[dev]"  # Install all deps required for testing and development

โปรดทราบว่ายังมี pip install -e ".[tests-all]" เพื่อติดตั้ง deps เฉพาะชุดข้อมูลทั้งหมด

รหัสวิชวลสตูดิโอ

เมื่อพัฒนาด้วย Visual Studio Code repo ของเรามาพร้อมกับ การตั้งค่าที่กำหนดไว้ล่วงหน้า เพื่อช่วยในการพัฒนา (การเยื้องที่ถูกต้อง, pylint,...)

  • หากคุณพบข้อความเตือน TensorFlow ให้ลอง แก้ไขปัญหานี้
  • หากการค้นพบล้มเหลวเนื่องจากการนำเข้าที่ขาดหายไปซึ่งควรจะติดตั้ง โปรดส่ง PR เพื่ออัปเดตการติดตั้ง dev pip

รายการตรวจสอบการประชาสัมพันธ์

ลงนามในคลา

การมีส่วนร่วมในโครงการนี้จะต้องแนบมาพร้อมกับข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล (CLA) คุณ (หรือนายจ้างของคุณ) สงวนลิขสิทธิ์ในผลงานของคุณ นี่เป็นการอนุญาตให้เราใช้และแจกจ่ายการมีส่วนร่วมของคุณอีกครั้งโดยเป็นส่วนหนึ่งของโครงการ ไปที่ < https://cla.developers.google.com/ > เพื่อดูข้อตกลงปัจจุบันของคุณที่บันทึกไว้หรือลงนามข้อตกลงใหม่

โดยทั่วไปคุณจะต้องส่ง CLA เพียงครั้งเดียว ดังนั้นหากคุณได้ส่งไปแล้ว (แม้ว่าจะเป็นของโครงการอื่นก็ตาม) คุณก็ไม่จำเป็นต้องส่งอีกครั้ง

ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด

  • ความสามารถในการอ่านเป็นสิ่งสำคัญ โค้ดควรเป็นไปตามแนวปฏิบัติด้านการเขียนโปรแกรมที่ดีที่สุด (หลีกเลี่ยงการทำซ้ำ แยกตัวประกอบเป็นฟังก์ชันขนาดเล็กในตัวเอง ชื่อตัวแปรที่ชัดเจน...)
  • ง่ายกว่านั้นดีกว่า (เช่น การนำไปใช้งานแบ่งออกเป็น PR เล็กๆ น้อยๆ ที่มีอยู่ในตัวซึ่งง่ายต่อการตรวจสอบ)
  • เพิ่มการทดสอบเมื่อจำเป็น การทดสอบที่มีอยู่ควรผ่านการทดสอบ
  • เพิ่ม คำอธิบายประกอบการพิมพ์

ตรวจสอบคำแนะนำสไตล์ของคุณ

สไตล์ของเรายึดตาม คู่มือสไตล์ Google Python ซึ่งยึดตาม คู่มือสไตล์ PEP 8 Python รหัสใหม่ควรพยายามเป็นไปตาม สไตล์รหัสสีดำ แต่ด้วย:

  • ความยาวสาย: 80
  • เว้นวรรค 2 ช่องแทน 4
  • คำพูดเดียว '
pip install pylint --upgrade
pylint tensorflow_datasets/core/some_file.py

คุณสามารถลอง yapf เพื่อจัดรูปแบบไฟล์อัตโนมัติได้ แต่เครื่องมือนี้ไม่สมบูรณ์แบบ ดังนั้นคุณอาจต้องใช้การแก้ไขด้วยตนเองในภายหลัง

yapf tensorflow_datasets/core/some_file.py

ทั้ง pylint และ yapf ควรได้รับการติดตั้งด้วย pip install -e ".[dev]" แต่ยังสามารถติดตั้งได้ด้วยตนเองด้วย pip install หากคุณใช้ VS Code เครื่องมือเหล่านั้นควรรวมอยู่ใน UI

เอกสารและคำอธิบายประกอบการพิมพ์

คลาสและฟังก์ชันควรได้รับการจัดทำเอกสารด้วยเอกสารและคำอธิบายประกอบการพิมพ์ เอกสารควรเป็นไปตาม สไตล์ของ Google ตัวอย่างเช่น:

def function(x: List[T]) -> T:
  """One line doc should end by a dot.

  * Use `backticks` for code and tripple backticks for multi-line.
  * Use full API name (`tfds.core.DatasetBuilder` instead of `DatasetBuilder`)
  * Use `Args:`, `Returns:`, `Yields:`, `Attributes:`, `Raises:`

  Args:
    x: description

  Returns:
    y: description
  """

เพิ่มและเรียกใช้ unittests

ตรวจสอบให้แน่ใจว่าคุณสมบัติใหม่ได้รับการทดสอบด้วยการทดสอบหน่วย คุณสามารถรันการทดสอบผ่านอินเทอร์เฟซ VS Code หรือบรรทัดคำสั่ง ตัวอย่างเช่น:

pytest -vv tensorflow_datasets/core/

pytest vs unittest : ในอดีตเราใช้โมดูล unittest เพื่อเขียนการทดสอบ การทดสอบใหม่ควรใช้ pytest ซึ่งง่ายกว่า ยืดหยุ่น ทันสมัยกว่า และใช้งานโดยไลบรารีที่มีชื่อเสียงส่วนใหญ่ (numpy, pandas, sklearn, matplotlib, scipy, six,...) คุณสามารถอ่าน คู่มือ pytest ได้ หากคุณไม่คุ้นเคยกับ pytest

การทดสอบ DatasetBuilders เป็นการทดสอบพิเศษและระบุไว้ใน คำแนะนำในการเพิ่มชุดข้อมูล

ส่ง PR เพื่อตรวจสอบ!

ยินดีด้วย! ดู วิธีใช้ GitHub สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้คำขอดึง