Google I/O를 시청해 주셔서 감사합니다. 모든 세션을 주문형으로 시청하세요.주문형 동영상 보기

TensorFlow 문서에 기여

TensorFlow는 문서 기여를 환영합니다. 문서를 개선하면 TensorFlow 라이브러리 자체도 개선됩니다. tensorflow.org의 문서는 다음 범주로 분류됩니다.

  • API 참조API 참조 문서TensorFlow 소스 코드 의 독스트링에서 생성됩니다.
  • 내러티브 문서 — TensorFlow 코드의 일부가 아닌 자습서 , 가이드 및 기타 문서입니다. 이 문서는 tensorflow/docs GitHub 리포지토리에 있습니다.
  • 커뮤니티 번역 —커뮤니티에서 번역한 가이드 및 튜토리얼입니다. 모든 커뮤니티 번역은 tensorflow/docs 저장소에 있습니다.

일부 TensorFlow 프로젝트 는 코드 근처에 문서 소스 파일을 별도의 저장소(일반적으로 docs/ 디렉토리)에 보관합니다. 프로젝트의 CONTRIBUTING.md 파일을 참조하거나 관리자에게 연락하여 기여하십시오.

TensorFlow 문서 커뮤니티에 참여하려면:

API 참조

자세한 내용은 TensorFlow API 문서 기고자 가이드 를 사용하세요. 이것은 소스 파일 을 찾고 심볼의 docstring 을 편집하는 방법을 보여줍니다. tensorflow.org의 많은 API 참조 페이지에는 기호가 정의된 소스 파일에 대한 링크가 포함되어 있습니다. 독스트링은 마크다운을 지원하며 마크다운 프리뷰어를 사용하여 (대략) 미리 볼 수 있습니다.

버전 및 분기

사이트의 API 참조 버전은 기본적으로 최신 안정 바이너리로 설정됩니다. pip install tensorflow 로 설치된 패키지와 일치합니다.

기본 TensorFlow 패키지는 메인 tensorflow/tensorflow 저장소의 안정적인 분기 rX.x 에서 빌드됩니다. 참조 문서는 Python , C++Java 용 소스 코드의 코드 주석 및 독스트링에서 생성됩니다.

이전 버전의 TensorFlow 문서는 TensorFlow Docs 리포지토리에서 rX.x 분기 로 사용할 수 있습니다. 이 분기는 새 버전이 릴리스될 때 추가됩니다.

API 문서 작성

파이썬 참조

tensorflow_docs 패키지에는 Python API 참조 문서 용 생성기가 포함되어 있습니다. 설치하기 위해서:

pip install git+https://github.com/tensorflow/docs

TensorFlow 2 참조 문서를 생성하려면 tensorflow/tools/docs/generate2.py 스크립트를 사용하세요.

git clone https://github.com/tensorflow/tensorflow tensorflow
cd tensorflow/tensorflow/tools/docs
pip install tensorflow
python generate2.py --output_dir=/tmp/out

내러티브 문서

TensorFlow 가이드튜토리얼Markdown 파일 및 대화형 Jupyter 노트북으로 작성되었습니다. 노트북은 Google Colaboratory 를 사용하여 브라우저에서 실행할 수 있습니다. tensorflow.org 의 내러티브 문서는 tensorflow/docs master 브랜치에서 빌드됩니다. 이전 버전은 rX.x 릴리스 분기의 GitHub에서 사용할 수 있습니다.

간단한 변경

Markdown 파일에 대한 간단한 문서 업데이트를 만드는 가장 쉬운 방법은 GitHub의 웹 기반 파일 편집기 를 사용하는 것입니다. tensorflow/docs 저장소를 탐색하여 tensorflow.org URL 구조와 대략적으로 일치하는 Markdown을 찾습니다. 파일 보기의 오른쪽 상단에서 연필 아이콘 파일 편집기를 엽니다. 파일을 편집한 다음 새 pull 요청을 제출합니다.

로컬 Git 리포지토리 설정

다중 파일 편집 또는 더 복잡한 업데이트의 경우 로컬 Git 워크플로를 사용하여 풀 요청을 생성하는 것이 좋습니다.

다음 Git 단계는 로컬 프로젝트를 처음 설정할 때만 필요합니다.

tensorflow/docs 리포지토리 포크

tensorflow/docs GitHub 페이지에서 Fork 버튼을 클릭합니다. GitHub 계정에서 고유한 repo 사본을 생성합니다. 분기된 후에는 업스트림 TensorFlow 리포지토리를 사용하여 리포지토리 복사본을 최신 상태로 유지할 책임이 있습니다.

저장소 복제

원격 사용자 username /docs repo의 복사본을 로컬 시스템에 다운로드합니다. 다음은 변경할 작업 디렉토리입니다.

git clone git@github.com:username/docs
cd ./docs

최신 상태를 유지하기 위해 업스트림 리포지토리 추가(선택 사항)

로컬 저장소를 tensorflow/docs 와 동기화 상태로 유지하려면 업스트림 원격을 추가하여 최신 변경 사항을 다운로드하세요.

리모컨 추가:

git remote add upstream git@github.com:tensorflow/docs.git

# View remote repos
git remote -v
origin    git@github.com:username/docs.git (fetch)
origin    git@github.com:username/docs.git (push)
upstream  git@github.com:tensorflow/docs.git (fetch)
upstream  git@github.com:tensorflow/docs.git (push)

업데이트하려면:

git checkout master
git pull upstream master

git push  # Push changes to your GitHub account (defaults to origin)

GitHub 워크플로

1. 새 브랜치 생성

tensorflow/docs 에서 저장소를 업데이트한 후 로컬 마스터 브랜치에서 새 브랜치를 만듭니다.

git checkout -b feature-name

git branch  # List local branches
  master

* feature-name

2. 변경

선호하는 편집기에서 파일을 편집하고 TensorFlow 문서 스타일 가이드 를 따르세요.

파일 변경 사항을 커밋합니다.

# View changes
git status  # See which files have changed
git diff    # See changes within files

git add path/to/file.md
git commit -m "Your meaningful commit message for the change."

필요에 따라 커밋을 더 추가합니다.

3. 풀 리퀘스트 생성

로컬 브랜치를 원격 GitHub 리포지토리( username )에 업로드합니다.

git push

푸시가 완료된 후 업스트림 리포지토리에 풀 요청을 자동으로 제출하는 URL이 메시지에 표시될 수 있습니다. 그렇지 않은 경우 tensorflow/docs 리포지토리 또는 자체 리포지토리로 이동하면 GitHub에서 풀 요청을 생성하라는 메시지를 표시합니다.

4. 검토

유지 관리자 및 기타 기여자가 끌어오기 요청을 검토합니다. 토론에 참여하고 요청한 변경을 수행하십시오. pull 요청이 승인되면 업스트림 TensorFlow 문서 저장소에 병합됩니다.

GitHub 리포지토리에서 tensorflow.org 를 업데이트하는 별도의 게시 단계가 있습니다. 일반적으로 변경 사항은 일괄 처리되고 사이트는 정기적으로 업데이트됩니다.

대화형 노트북

GitHub의 웹 기반 파일 편집기로 노트북 JSON 파일을 편집할 수 있지만 형식이 잘못된 JSON은 파일을 손상시킬 수 있으므로 권장하지 않습니다. 풀 리퀘스트를 제출하기 전에 노트북을 테스트하십시오.

Google Colaboratory 는 노트북 문서를 쉽게 편집하고 실행할 수 있는 호스팅된 노트북 환경입니다. GitHub의 노트북은 Colab URL에 대한 경로를 전달하여 Google Colab에 로드됩니다(예: GitHub에 있는 노트북: https://github.com/tensorflow/docs/blob/master/site/en/tutorials/keras ). /분류.ipynb
다음 URL에서 Google Colab에 로드할 수 있습니다. https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/keras/classification.ipynb

GitHub에서 노트북을 검색할 때 이 URL 대체를 수행하는 Open in Colab Chrome 확장 프로그램이 있습니다. 상단 버튼은 항상 TensorFlow Docs master 브랜치로 연결되기 때문에 이것은 repo fork에서 노트북을 열 때 유용합니다.

노트북 포맷

노트북 서식 도구를 사용하면 Jupyter 노트북 소스 diff를 일관되고 쉽게 검토할 수 있습니다. 노트북 저작 환경은 파일 출력, 들여쓰기, 메타데이터 및 기타 지정되지 않은 필드와 관련하여 다르기 때문에; nbfmt 는 TensorFlow 문서 Colab 워크플로에 대한 기본 설정과 함께 독창적인 기본값을 사용합니다. 노트북을 포맷하려면 TensorFlow 문서 노트북 도구 를 설치하고 nbfmt 도구를 실행하세요.

# Install the tensorflow-docs package:
$ python3 -m pip install -U [--user] git+https://github.com/tensorflow/docs

$ python3 -m tensorflow_docs.tools.nbfmt [options] notebook.ipynb [...]

TensorFlow 문서 프로젝트의 경우 출력 셀이 없는 노트북이 실행되고 테스트됩니다. 저장된 출력 셀이 있는 노트북 있는 그대로 게시됩니다. nbfmt 는 노트북 상태를 존중하고 --remove_outputs 옵션을 사용하여 명시적으로 출력 셀을 제거합니다.

새 노트북을 만들려면 TensorFlow 문서 노트북 템플릿 을 복사하고 편집하세요.

Colab에서 수정

Google Colab 환경 내에서 셀을 두 번 클릭하여 텍스트 및 코드 블록을 편집합니다. 텍스트 셀은 Markdown을 사용하며 TensorFlow 문서 스타일 가이드 를 따라야 합니다.

파일 > .pynb 다운로드 를 사용하여 Colab에서 노트북 파일을 다운로드합니다. 이 파일을 로컬 Git 리포지토리 에 커밋하고 풀 요청을 보냅니다.

새 노트북을 만들려면 TensorFlow 노트북 템플릿 을 복사하고 편집하세요.

Colab-GitHub 워크플로

노트북 파일을 다운로드하고 로컬 Git 워크플로를 사용하는 대신 Google Colab에서 직접 분기된 GitHub 리포지토리를 편집하고 업데이트할 수 있습니다.

  1. 분기된 username /docs 리포지토리에서 GitHub 웹 UI를 사용하여 새 분기 를 만듭니다.
  2. 편집할 노트북 파일로 이동합니다.
  3. Google Colab에서 노트북 열기: URL 스왑 또는 Colab Chrome 확장 프로그램에서 열기를 사용합니다.
  4. Colab에서 노트북을 수정합니다.
  5. 파일 > GitHub에 사본 저장...을 사용하여 Colab에서 리포지토리에 대한 변경 사항을 커밋합니다. 저장 대화 상자는 적절한 리포지토리 및 분기에 연결되어야 합니다. 의미 있는 커밋 메시지를 추가합니다.
  6. 저장 후 리포지토리 또는 tensorflow/docs 리포지토리 로 이동하면 GitHub에서 풀 요청을 생성하라는 메시지를 표시해야 합니다.
  7. pull 요청은 관리자가 검토합니다.

번역

TensorFlow 팀은 커뮤니티 및 공급업체와 협력하여 tensorflow.org에 대한 번역을 제공합니다. 노트북 및 기타 기술 콘텐츠의 번역은 tensorflow/docs-l10n GitHub 리포지토리에 있습니다. TensorFlow GitLocalize 프로젝트 를 통해 pull 요청을 제출하세요.

영어 문서는 진실의 근원 이며 번역은 가능한 한 이 가이드를 따라야 합니다. 즉, 번역은 그들이 봉사하는 지역 사회를 위해 작성되었습니다. 영어 용어, 표현, 문체 또는 어조가 다른 언어로 번역되지 않는 경우 독자에게 적합한 번역을 사용하십시오.

언어 지원은 사이트 메트릭 및 수요, 커뮤니티 지원, 영어 능력 , 청중 선호도 및 기타 지표를 포함하되 이에 국한되지 않는 여러 요인에 의해 결정됩니다. 지원되는 언어마다 비용이 발생하므로 유지 관리되지 않는 언어는 제거됩니다. 새로운 언어에 대한 지원은 TensorFlow 블로그 또는 Twitter 에서 발표됩니다.

선호하는 언어가 지원되지 않는 경우 오픈 소스 기여자를 위한 커뮤니티 포크를 유지할 수 있습니다. 이것들은 tensorflow.org에 게시되지 않습니다.