CUDA, GCP, tensorflow 및 pytorch GPU 환경 세팅

건너별·2021년 11월 28일
0

infra(AWS)

목록 보기
12/17

CUDA 환경 세팅을 위해 cudnn 파일을 서버에 다운받아야 하는데, 이게 블로그 찾아봐도 nvidia 사이트 로그인 후 로컬환경에서 다운받고 gcp서버로 전송하는 과정밖에 안보임
-> 그래서 서버 연결이 필요하다고 생각헀음

로컬환경에서 GCP 서버로 연결하기 과정 troubleshooting

  1. 서버 인스턴스 접속이 안되어서 2회 정도 다시 생성해서 접속함. 세팅도 처음부터 다시. (만들어놓은 폴더는 다 날라감. 죄송합니다ㅠ)
    -> 아마 인스턴스 종료 안해놓고 자서 그런듯. ㅠㅠ 담부터는 안그래야지.
    -> 조사한 다른 방법으로 이전 서버의 스냅샷 저장후 인스턴스 생성해봤는데 여전히 안되어서 그냥 다시 생성.
  2. 로컬에서 서버로 파일 보내는 과정(굉장한 난항이었음.)
  • scp 명령어, 권한, IP 등에 대해서 이해가 필요했음.(아직도 조사하면서 주먹구구식으로 이해한 느낌. 강의를 제대로 들어야 할 것 같음)
  • 윈도우 환경에서 ssh key를 생성하고, GCP 서버에 key를 등록하고 생쇼를 다함. 그래도 윈도우 환경에서계속 access denied가 떠서 우분투 서버랑 연결이 안됨.
    • ssh-keygen 등의 방법으로 키 생성하고 연결 시도 -> 거듭된 실패
    • 그 와중에 window scp(별도의 서버 파일 전송 툴) 과, puTTY(private key generator)라는 프로그램을 깔아서 시도해보게 됨(https://blog.dalso.org/google-cloud-platform-2/16055)
    • ppk라는 별도의 확장자로 private key 생성, GCP서버에 .ssh/authorized_keys 에 public key값 추가하고, GCP 사이트 compute engine-설정-메타데이터-ssh키 생성에도 추가함( 이과정은 필수적인지는 모르겠음..)
    • 그리고 폴더별 권한을 아래 사이트에 맞게 수정함(https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-server-refused-our-key/)
  • 결국 연결 성공. 파일 전송
  • 윈도우에서 아직도 powershell 등의 cli에서 scp 명령어로 파일을 전송하는 방법은 모르겠음. 이렇게 별도 툴을 깔아야되는건지..
  • *ssh에 대한 추가적인 이해 : https://opentutorials.org/module/432/3742

현재상황

  1. Cuda 버전 11.0
  • $ nvcc -V 명령어 입력으로 버전 확인가능 (내가11.4를 삭제하고 11.0을 다시 깔았음)
  • $ nvidia-smi 명렁어는 드라이버의 버전을 알려줌. 거기 써있는 cuda 버전은 11.4로 되어있을 텐데, 무시해도 됨.

연동되는 pytorch 버전 : 1.7.1
연동되는 tensorflow 버전 : 2.4.0

  1. pytorch gpu 사용 명령어(서버 CLI에서)(아나콘다 가상환경 내에서)
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
  • python 실행 후 사용가능여부 확인

import pytorch
torch.cuda.is_available()
-> True 나오면 성공
  1. tensorflow gpu 사용 명령어((서버 CLI에서)
pip install tensorflow==2.4.0
pip install tensorflow-gpu==2.4.0
  • python 실행 후 사용가능여부 확인
from tensorflow.python.client import device_lib
device_lib.list_local_devices()

-> 리스트에서 GPU 확인(진짜 되는지는 돌려봐야 알 것 같긴 함. 아마 되는 거겠죠?)

profile
romantic ai developer

0개의 댓글