TFDS 저장소에 기여

저희 도서관에 관심을 가져주셔서 감사합니다! 우리는 이렇게 의욕이 넘치는 커뮤니티를 갖게 되어 매우 기쁩니다.

시작하다

  • TFDS를 처음 사용하는 경우 시작하는 가장 쉬운 방법은 가장 많이 요청된 데이터 세트 에 중점을 두고 요청된 데이터 세트 중 하나를 구현하는 것입니다. 지침 은 가이드를 따르십시오 .
  • 문제, 기능 요청, 버그 등은 전체 TFDS 커뮤니티에 도움이 되므로 새 데이터 세트를 추가하는 것보다 훨씬 더 큰 영향을 미칩니다. 잠재적 기여 목록을 참조하세요. 시작하기 쉬운 작고 독립적인 문제인 기여 환영 이라는 라벨이 붙은 것부터 시작합니다.
  • 이미 할당되었지만 한동안 업데이트되지 않은 버그를 주저하지 말고 인수하세요.
  • 문제를 귀하에게 할당할 필요가 없습니다. 작업을 시작할 때 문제에 대해 간단히 의견을 남겨주세요 :)
  • 특정 문제에 관심이 있지만 시작하는 방법을 모르는 경우 주저하지 말고 도움을 요청하세요. 그리고 조기 피드백을 원하시면 PR 초안을 보내주세요.
  • 불필요한 작업 중복을 피하려면 보류 중인 Pull Request 목록을 확인하고 작업 중인 문제에 대해 의견을 제시하세요.

설정

저장소 복제

시작하려면 Tensorflow Datasets 저장소를 복제하거나 다운로드하고 저장소를 로컬에 설치하세요.

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

모든 데이터세트별 deps를 설치하는 pip install -e ".[tests-all]" 도 있습니다.

비주얼 스튜디오 코드

Visual Studio Code 로 개발할 때 우리 리포지토리에는 개발에 도움이 되는 몇 가지 사전 정의된 설정 (올바른 들여쓰기, pylint 등)이 함께 제공됩니다.

  • TensorFlow 경고 메시지가 표시되는 경우 이 수정 사항을 시도해 보세요.
  • 설치했어야 하는 가져오기 누락으로 인해 검색이 실패한 경우 PR을 보내 dev pip 설치를 업데이트하세요.

홍보 체크리스트

CLA에 서명하세요

이 프로젝트에 대한 기여에는 기여자 라이센스 계약(CLA)이 동반되어야 합니다. 귀하(또는 귀하의 고용주)는 귀하의 기여에 대한 저작권을 보유합니다. 이는 단순히 귀하의 기여를 프로젝트의 일부로 사용하고 재배포할 수 있는 권한을 부여하는 것뿐입니다. 현재 파일에 있는 계약을 확인하거나 새 계약에 서명하려면 < https://cla.developers.google.com/ >으로 이동하세요.

일반적으로 CLA는 한 번만 제출하면 되므로 이미 제출한 경우(다른 프로젝트에 대한 것이라도) 다시 제출할 필요는 없습니다.

모범 사례 따르기

  • 가독성이 중요합니다. 코드는 최고의 프로그래밍 방식을 따라야 합니다(중복 방지, 작은 독립형 함수로 분해, 명시적 변수 이름 등).
  • 단순할수록 좋습니다(예: 검토하기 더 쉬운 여러 개의 작은 독립형 PR로 분할된 구현).
  • 필요한 경우 테스트를 추가하세요. 기존 테스트는 통과해야 합니다.
  • 입력 주석 추가

스타일 가이드를 확인하세요

우리의 스타일은 PEP 8 Python 스타일 가이드를 기반으로 하는 Google Python 스타일 가이드를 기반으로 합니다. 새 코드는 Black 코드 스타일을 따르도록 노력해야 하지만 다음을 사용해야 합니다.

  • 줄 길이: 80
  • 4개가 아닌 2개의 공백 들여쓰기.
  • 작은따옴표 '
pip install pylint --upgrade
pylint tensorflow_datasets/core/some_file.py

yapf 사용하여 파일을 자동 형식화할 수 있지만 도구가 완벽하지 않으므로 나중에 수정 사항을 수동으로 적용해야 할 가능성이 높습니다.

yapf tensorflow_datasets/core/some_file.py

pylintyapf 모두 pip install -e ".[dev]" 사용하여 설치해야 하지만 pip install 사용하여 수동으로 설치할 수도 있습니다. VS Code를 사용하는 경우 해당 도구가 UI에 통합되어야 합니다.

Docstring 및 타이핑 주석

클래스와 함수는 독스트링과 타이핑 주석으로 문서화되어야 합니다. Docstring은 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
  """

단위 테스트 추가 및 실행

단위 테스트를 통해 새로운 기능이 테스트되는지 확인하세요. VS Code 인터페이스 또는 명령줄을 통해 테스트를 실행할 수 있습니다. 예를 들어:

pytest -vv tensorflow_datasets/core/

pytest vs unittest : 역사적으로 우리는 테스트를 작성하기 위해 unittest 모듈을 사용해 왔습니다. 새로운 테스트에서는 더 간단하고 유연하며 현대적이며 가장 유명한 라이브러리(numpy, pandas, sklearn, matplotlib, scipy, six 등)에서 사용되는 pytest 사용하는 것이 좋습니다. pytest에 익숙하지 않다면 pytest 가이드를 읽어보세요.

DatasetBuilders에 대한 테스트는 특별하며 데이터 세트 추가 가이드 에 설명되어 있습니다.

리뷰를 위한 PR을 보내주세요!

축하해요! 풀 요청 사용에 대한 자세한 내용은 GitHub 도움말을 참조하세요.