มีส่วนร่วมในพื้นที่เก็บข้อมูล 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 เป็นการทดสอบพิเศษและระบุไว้ใน คำแนะนำในการเพิ่มชุดข้อมูล

ส่งประชาสัมพันธ์รีวิว!

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