GCP에서 kaggle을 위한 환경 구축

4074 단어 gcpKaggle

처음에



kaggle의 이미지 경쟁에서 GPU 환경을 사용하기 위해 GCP를 사용했습니다. 환경 구축 방법을 정리하려고합니다.

GCP를 사용하는 이유나 인스턴스 생성에 관해서는 다음 기사가 매우 도움이 됩니다.
htps : // 코 m / ぁ 21 / ms / 33 39d465cd08b662f1

GCE 인스턴스 만들기



나는 다음과 같은 환경을 만들었다.
- 지역: us-west1-b
- 머신 유형: n1-highmem-8(vCPU x 8, 메모리 52GB)
- GPU: 1 x NVIDIA Tesla P100

인스턴스를 만들었으면 실제로 환경에 들어갑니다.

gcloud 사용법



Mac에서 사용하는 경우 SDK를 설치합니다.
curl https://sdk.cloud.google.com | bash

그런 다음 .zshrc(bashrc) 에 다음을 추가합니다.
source '/Users/ユーザー名/google-cloud-sdk/path.zsh.inc'

source '/Users/ユーザー名/google-cloud-sdk/completion.zsh.inc'

자주 사용하는 명령은 다음과 같습니다.
# インスタンスの一覧を確認
gcloud compute instances list

# インスタンスを起動
gcloud compute instances start <your-instance-name>

# インスタンスを停止
gcloud compute instances stop <your-instance-name>

※인스턴스가 기동하고 있는 한은 요금이 발생해 버리므로, 사용하지 않게 되면 곧 정지합시다! ! !

GPU 환경에 대한 연결은 VM 인스턴스 관리 화면에서 다음 gcloud 명령 표시에 설명된 명령을 사용하여 수행할 수 있습니다.



다음과 같은 명령입니다.
gcloud beta compute ssh --zone <リージョン名> <インスタンス名> --project <プロジェクト名>

단, 매번 이 명령을 치는 것도 번거롭기 때문에 .ssh/config 에 기재해 간단하게 접속할 수 있도록 합니다.

생성된 SSH 키를 사용하는 방법도 있지만 이번에는 gcloud용으로 새로 생성합니다. 다만, 키의 생성도 config에의 기재도 이하의 커멘드를 칠 뿐이므로 매우 편리합니다.
gcloud compute config-ssh

You should now be able to use ssh/scp with your instances.
For example, try running:

  $ ssh hogehoge

이제 쉽게 ssh 연결로 환경에 넣을 수 있습니다.

여기서 ssh 연결을 단순화함으로써 VScode 연결이 가능합니다.

VScode로 ssh 연결



이에 관해서는 아래의 기사가 참고가 됩니다.
htps : // 이 m/n g2 2/2 ms/1d1358f6913249f3에186

먼저 VScode에 Remote-ssh 플러그인을 도입합니다.



그러면 왼쪽 하단에 녹색 버튼이 생기므로 거기를 누르면 다음 화면이 표시됩니다 (명령 팔레트에서도 조작할 수 있습니다).



여기서 Remote-SSH: Connect to Host를 선택하면 GCP 환경 이름이 표시되므로 클릭하면 완료됩니다.

이미지 비교를 위한 데이터 세트 배치



데이터 세트가 인스턴스에 배치되었습니다.

(주) 화상(콤페로 배포되는 zip 파일이나 그것을 해동한 jpg 파일등)을 스토리지에 두어 버리면, 해동조차 할 수 없을 정도로 느립니다.
이미지는 인스턴스 측에 두거나 pickle 등에 굳어 스토리지에 두는 등

이하의 카레씨의 기사를 참고로 했습니다.
htps : // 쿳 ry 푸린. q 룬 ch. 이오 / 엔 t 리에 s / T9 GWHd 6 ~ 2 w

local에서 파일의 복사는 다음 명령으로 수행할 수 있습니다.
# ファイルをコピー
gcloud compute copy-files <local-path> <your-instance-name>:~

tmux 설정



이미지 시스템을 학습하는 데 상당한 시간이 걸리는 경우가 많습니다. 그 때 ssh 연결이 끊어져도 학습을 계속할 수 있도록 학습시에는 tmux를 사용합시다.
# 以下でセッションを開始
tmux new -s <セッション名>

# 再接続する時は以下
tmux a -t <セッション名>

명령은 다음 기사에서 쉽게 이해할 수 있습니다.
htps : // 이 m / n mrmsys / ms / 03f97f5 에베 c18

끝에



여기까지 할 수 있으면 나머지는 마음껏 학습을 돌리는 것만...

GCP를 사용하기 때문에 자신도 좋은 결과를 남길 수 있도록 노력하겠습니다.

뭔가 조언이나 실수가 있으면 꼭 코멘트를주세요! !

좋은 웹페이지 즐겨찾기