Jupyter/Colab 노트북 생성

nbgenerate 도구는 DevSite HTML 및 마크다운 콘텐츠와 템플릿을 변환합니다. Colab 호환 Jupyter 노트북으로 스트리밍할 수 있습니다

OverView

Google Colab 사이트에서:

Colab 노트북을 사용하면 실행 가능한 코드와 서식 있는 텍스트를 하나로 결합할 수 있습니다. 문서, 문서, 이미지, HTML, LaTeX 등입니다.

Colab에서는 별도의 작업 없이 웹브라우저에서 Python 코드를 작성하고 실행할 수 있습니다. 추가 설정 또는 설치가 필요합니다. 마크다운 콘텐츠가 코드와 함께 배치될 수 있음 셀을 사용하여 동일한 문서에서 리치 콘텐츠를 제공할 수 있습니다. 이렇게 하면 Colab 노트북은 양적 연구뿐만 아니라 머신러닝의 한 종류로 API 및 시연 및 실험을 위한 일반적인 개념과 유사한 개념입니다.

이러한 이유로 Colab 노트북에서 공유되는 콘텐츠가 콘텐츠와 겹치는 경우가 많습니다. Google 개발자 문서에 게시되어 있습니다. nbgenerate 툴은 DevSite 마크업을 지원되는 Colab 노트북과 수동으로 동기화해야 합니다. 도구 DevSite HTML 및 Markdown을 Colab에서 사용하는 .ipynb 파일 형식으로 변환하고 살펴보겠습니다 이렇게 하면 DevSite의 콘텐츠를 사용할 수 있고 을 개발자 문서와 Colab 노트북 모두에 단일 정보 소스로 사용할 수 있습니다.

배경 및 기술 세부정보는 nbgenerate-dd를 참조하세요.

기본 사용법

DevSite의 페이지에 사용할 Colab 노트북을 생성하려면 다음 작업이 필요합니다. nbgenerate 명령어를 호출하기 전에 _notebooks.yaml라는 파일을 추가합니다.

프로젝트에 _notebooks.yaml 추가

DevSite 프로젝트의 페이지에서 Colab 노트북을 생성하려면 프로젝트 루트 (사이트와 동일한 디렉터리에 있음)에 _notebooks.yaml _project.yaml). 파일에는 공유되는 각 페이지에 대해 하나의 항목이 포함되어야 합니다. Colab 노트북으로 저장해 보겠습니다 각 항목의 source 필드에는 절댓값이 포함되어야 합니다. Colab 노트북으로 변환할 수 있습니다. 이 target 필드는 Colab을 생성한 google3 Depot 경로를 지정해야 합니다. 노트북이 작성됩니다

예를 들면 다음과 같습니다.

- source: /earth-engine/ee-image.html
  target: //depot/google3/third_party/earthengine_community/ipynb/ee-image.ipynb
- source: /earth-engine/guides/image_objects.md
  target: //depot/google3/third_party/earthengine_community/ipynb/guides/image_objects.ipynb

이 예시에서는 Copybara를 사용하여 GitHub에 미러링되는 대상 경로를 사용하므로 생성된 노트북을 공개적으로 액세스 가능한 하이퍼링크를 통해 열 수 있습니다. copybara를 참고하세요. 를 참조하세요. 참고 항목 GitHub에서 생성된 노트북의 링크를 추가하는 예의 위젯 예

노트북 생성

nbgenerate을(를) 처음 실행하기 전에 .bashrc에 추가하고 현재 셸에 다음 명령어를 추가합니다.

alias nbgenerate="/google/bin/releases/devsite/tools/nbgenerate/nbgenerate.par"

그런 다음 명령줄에서 nbgenerate를 실행하여 모든 파일을 다시 생성할 수 있습니다. _notebooks.yaml에 나열된 코드:

nbgenerate googledata/devsite/content/en/PROJECT

처리를 다음 대상으로 제한하려면 하나 이상의 경로를 nbgenerate의 인수로 지정합니다. 지정된 파일 또는 경로입니다. 예를 들면 다음과 같습니다.

nbgenerate third_party/devsite/developers/en/earth-engine/guides

디렉터리 경로는 반복적으로 처리됩니다. 또는 의 _notebooks.yaml에 있는 모든 파일 하위 디렉터리가 처리됩니다

'권한 거부됨' 메시지가 표시되는 경우 위의 명령어를 사용하여 nbgenerate를 실행할 때 다음 명령어로 도구를 실행할 수도 있습니다.

blaze run //devsite/tools/nbgenerate -- googledata/devsite/content/en/PROJECT

콘텐츠 필터링

일부 콘텐츠가 DevSite 페이지 또는 두 개 모두 선택할 수는 없는 경우 is_ipynb 변수: nbgenerate 변환 중 True로 설정됨 프로세스입니다 스테이징 및 DevSite에 게시할 때 오류를 방지하려면 선택적으로 콘텐츠를 포함해야 하는 페이지 상단 근처에 다음과 같은 것이 있습니다.

    
{% if is_ipynb is not defined %}{% set is_ipynb=False %}{% endif %}
     

그런 다음 Jinja 태그를 사용하여 Colab, DevSite, 또는 둘 다일 수 있습니다. 예를 들면 다음과 같습니다.

# Overview

This section will show in both the DevSite page and in the Colab notebook as
a text cell.


{% if is_ipynb %}

This content will only appear in Colab notebooks but not on DevSite pages. This
is useful for providing Colab-specific initialization and setup instructions or
code.
{% endif %}
 


{% if not is_ipynb %}
```js
// This code snippet will only be rendered in DevSite but not in Colab
// notebooks.
console.log('Hello, nbgenerate!');
```
{% endif %}
 

```py
# This snippet will appear in both DevSite and in the Colab notebook as a code
# cell.
print('Hello, nbgenerate!');
```

위젯 예

사이트에서는 일반적인 동작을 캡슐화하기 위해 자체 DevSite 위젯을 정의하는 경우가 많습니다. 다음은 사이트에 맞게 조정될 수 있는 is_ipynb 변수를 사용하는 위젯의 예입니다.

Colab 노트북 버튼 위젯

Earth Engine 개발자 문서에서는 맞춤 위젯을 사용하여 GitHub의 Colab 노트북과 동기화된 DevSite 페이지에 Colab에서 실행GitHub에서 소스 보기 버튼을 일관되게 표시합니다.

샘플 섹션 위젯

샘플 섹션 위젯 탭 섹션을 설정하는 방법과 코드 스니펫에 사용할 수 없습니다. 위젯은 Colab 노트북에 Python 스니펫만 포함합니다. 그것은 또한 살펴보겠습니다