CTPU 참조

개요

오픈소스 ctpu 도구는 컴퓨팅 리소스의 플록을 만드는 데 사용됩니다. 플록은 Compute Engine VM 한 대와 Cloud TPU 기기 한 대 이상으로 구성됩니다. 이 도구는 Cloud Shell에 사전 설치되어 있습니다.

GitHub에서 ctpu 문서 및 코드를 확인할 수 있습니다.

ctpu 도구는 다음 구문을 사용합니다.

ctpu <subcommand> <flags> <subcommand> <subcommand args> 

다음은 ctpu의 하위 명령어입니다.

auth

설명
Cloud TPU에 대한 승인을 설정하거나 표시합니다.
용도
ctpu auth <flags> <subcommand> <subcommand args>
ctpu auth list --project="my-project" --zone=us-central1-a
ctpu auth list --project my-project --zone us-central1-a
하위 명령어

ctpu auth 명령어는 다음 하위 명령어를 지원합니다.

  • add-bigtable - Cloud TPU를 Cloud Bigtable에 대해 승인합니다.
  • add-gcs - Cloud TPU를 Cloud Storage에 대해 승인합니다.
  • list - Cloud TPU 서비스 계정 승인을 표시합니다.
  • commands - 모든 명령어 이름을 나열합니다.
  • flags - 알려진 모든 최상위 플래그를 설명합니다.
  • help - 하위 명령어 및 해당 구문을 설명합니다.
선택적 플래그

다음은 ctpu auth의 선택적 명령어입니다. name | project | zone

delete(rm)

설명
Compute Engine VM 및 Cloud TPU를 삭제합니다.
용도
ctpu rm <flags>
ctpu rm --zone=us-central1-b

help

설명
모든 ctpu 하위 명령어 및 최상위 플래그를 나열합니다.
용도
ctpu help
ctpu help <subcommand>
ctpu help   // list all ctpu subcommands and top level flags

ctpu help auth   // list all flags that can be used with `ctpu auth`
ctpu help up   // list all flags that can be used with `ctpu up`

list(ls)

설명
지정된 영역의 모든 Compute Engine VM 및 Cloud TPU를 나열합니다.
용도
ctpu ls <flags>
ctpu ls --zone=us-central1-b

pause(zz)

설명

Compute Engine VM을 중지하고 Cloud TPU를 삭제합니다. ctpu up를 실행할 때까지 Cloud TPU 사용 요금의 청구를 중지합니다.

Cloud TPU가 중지되도록 하려면 명령줄에서 Cloud TPU 이름과 영역을 지정해야 합니다.

용도
ctpu pause <name, zone>
ctpu pause --name=my-tpu --zone=us-central1-a  // pause the named TPU
in the specified zone
설명
Cloud TPU 이름, 프로젝트 이름, 영역의 현재 구성을 화면에 출력합니다.
ctpu print-config

quota

설명
할당량을 확인할 수 있는 URL을 표시합니다.
용도
ctpu quota
ctpu quota
Output: Quotas cannot currently be displayed within ctpu.
To view your quota, open <url>
Request additional quota from <url>

restart

설명

RUNNING 상태(ctpu status에 표시됨)이지만 하드웨어 문제로 인해 실행이 중지된 Cloud TPU를 다시 시작합니다. TPU가 STOPPED 상태이면 gcloud compute tpu start 또는 Cloud Console의 Compute Engine > TPU 페이지에 있는 START 버튼을 사용하세요.

restart는 선점된 Cloud TPU를 다시 시작하지 않습니다. Cloud TPU가 선점되었으면 ctpu deletectpu up를 실행해야 합니다.

용도
ctpu restart <flags>
ctpu restart --zone=us-central1-a

status(st)

설명

GCP API(기본 영역만)를 쿼리하여 Cloud TPU 및 Compute Engine VM의 현재 상태를 확인합니다.

용도

ctpu st

ctpu st --zone=us-central1-a
Status message:
  Your cluster is running!
    Compute Engine VM:  RUNNING
    Cloud TPU:     RUNNING 

tpu-locations

설명
TPU를 사용할 수 있는 모든 영역을 나열합니다.
용도
ctpu tpu-locations
출력
Cloud TPU Locations:
    asia-east1-c
    europe-west4-a
    us-central1-a
    us-central1-b
    us-central1-c

tpu-sizes

설명
지정된 영역에서 사용 가능한 모든 TPU 크기를 나열합니다. 일부 크기는 특정 영역에서만 사용할 수 있습니다. (기본값 = 기본 영역)
용도
tpu-sizes <zone>
ctpu tpu-sizes --zone=us-central1-a

up

설명

ctpu 리소스 집합을 가져옵니다. 프로젝트에서 ctpu up를 처음 실행할 때는 SSH 키 전파 및 API 활성화 등의 작업을 수행하므로 이후의 실행보다 시간이 오래 걸릴 수 있습니다.

  • Compute Engine과 Cloud TPU 서비스를 사용 설정합니다.
  • 사전 설치된 최신 안정화 버전의 TensorFlow를 사용하여 Compute Engine VM을 만듭니다.
  • 위치에 따라 us-central1-b와 같은 기본 영역을 할당합니다.
  • Cloud TPU의 이름을 Compute Engine VM에 환경 변수(TPU_NAME)로 전달합니다.
  • Cloud TPU가 Google Cloud 프로젝트의 필요한 리소스에 액세스할 수 있도록 Cloud TPU 서비스 계정에 특정 IAM 역할을 부여합니다.
  • 기타 여러 확인 절차를 수행합니다.
  • 새로운 Compute Engine VM에 로그인합니다. 셸 프롬프트가 username@project에서 username@tpuname으로 변경됩니다.

원하는 횟수만큼 ctpu up을 실행할 수 있습니다. 예를 들어 Compute Engine VM에 대한 SSH 연결이 끊어지면 ctpu up을 실행하여 연결을 복원합니다. Compute Engine이 기본 영역에 없으면 반드시 영역을 지정해야 합니다. 예를 들면 다음과 같습니다.

$ ctpu up --zone=us-central1-a
용도
ctpu up <flags>
ctpu up --tpu-size=v2-8 --disk-size-gb=320 --preemptible
플래그

--disk-size-gb
Compute Engine VM의 루트 볼륨 크기를 구성합니다. 값은 정수여야 합니다(기본값=250).

--dry-run
실제로 변경하지 않고 예상 결과만 출력합니다.

--forward-agent
Compute Engine VM에 ssh를 통해 연결할 때 ssh 에이전트 전달을 사용 설정합니다. SSH 에이전트 전달을 사용하면 Compute Engine VM에 비공개 키를 두지 않아도 공유 저장소(예: GitHub)에 액세스할 수 있습니다. (기본값 = true)

--forward-ports
유용한 포트를 Compute Engine VM에서 로컬 머신으로 자동으로 전달합니다. 전달되는 포트는 6006(텐서보드), 8888(jupyter 메모장), 8470(TPU 포트), 8466(TPU 프로파일러 포트)입니다. (기본값 = true)

--gce-image
자동으로 선택된 Compute Engine 이미지를 재정의합니다. 설치된 TensorFlow가 제공하는 이미지 대신 커스텀 이미지를 사용하는 경우에 이 플래그를 사용합니다.

--gcp-network
Cloud TPU 및 관련 VM을 만들 네트워크를 지정합니다. 네트워크에 대한 정보는 Virtual Private Cloud(VPC) 네트워크 개요를 참조하세요. (기본값 = 기본 네트워크)

--log-http
http 요청-응답 쌍의 전체 내용을 출력합니다. 출력을 사용 설정하려면 이 플래그를 true로 설정하세요. ctpu에 대한 버그 보고서를 제출하기 위해 로그 출력이 필요할 때 이 플래그를 사용하세요. 자세한 내용은 ctpu README를 참조하세요.

--machine-type
Compute Engine VM의 크기를 구성합니다. 클라우드 머신 유형 페이지에서 머신 유형의 전체 목록을 볼 수 있습니다. (기본값 = n1-standard-2)

--name
VM 및 Cloud TPU에 사용할 이름을 재정의합니다. (기본값 = 사용자 이름)

--noconf
확인을 건너뜁니다.

--preemptible
선점형 Cloud TPU 노드를 만듭니다. 선점형 Cloud TPU는 비선점형보다 시간당 비용이 낮습니다. Cloud TPU 서비스는 언제든지 선점형 기기를 종료할 수 있습니다. (기본값 = 비선점형)

--preemptible-vm
선점형 Compute Engine VM을 만듭니다. 선점형 VM은 비선점형 VM보다 시간당 비용이 낮습니다. Compute Engine 서비스는 언제든지 VM 인스턴스를 종료할 수 있습니다. (기본값 = 비선점형)

--print-welcome
항상 환영 메시지를 출력합니다.

--project
VM 및 TPU를 할당할 때 사용할 GCP 프로젝트 이름을 재정의합니다. 클라우드 구성 또는 Compute Engine 메타데이터의 값(일반적으로 프로젝트 이름)을 지정하세요. 적절한 값을 찾을 수 없으면 명령줄에서 값을 제공해야 합니다.

--tf-version
Compute Engine VM 및 Cloud TPU를 만들 때 사용할 TensorFlow 버전을 설정합니다. (기본값 = 최신 안정화 버전)

--tpu-only
Cloud TPU만 할당합니다. 이 플래그는 사용 가능한 VM이 이미 있는 경우에만 사용하세요.

--tpu-size
Cloud TPU의 크기 및 하드웨어 버전을 구성합니다.

--use-dl-images
TPU 머신 이미지 대신 딥 러닝 VM 이미지(참조 문서: https://cloud.google.com/deep-learning-vm/)를 사용합니다. (기본값 = TPU 머신 이미지)

--vm-only
VM만 할당합니다. TPU를 설정하고 비용을 지불할 준비가 되지 않은 경우 이 플래그를 사용하세요.

--zone
VM 및 Cloud TPU를 할당할 때 사용할 Compute Engine 영역을 재정의합니다. 명령줄에서 ctpu help up을 실행하세요.

버전

설명
설치된 ctpu의 버전을 출력합니다.
용도
ctpu version
출력
ctpu version
Output: ctpu version: 1.9