•
Pyramid Mask Text Detector 의 공식 구현체 소스코드는 다음과 같다.
◦
•
시작하기 전에 가진 의문
1.
pytorch nightly 1.0 은 어떻게 설치하는가?
•
의 INSTALL.md 를 보면 pytorch 1.0.1 도 안되고, pytorch 1.0 도 안되고, pytorch 1.0 nightly 를 사용하라고 명시하고 있다는 것을 알 수 있다. 하지만 nightly 버전의 경우 1.1.x 와 1.0.x 버전의 설치파일을 제공하지 않았다. 오직 pytorch 1.2.x 만을 지원하고 있다. 심지어 시간이 흐르면서 설치 커맨드도 달라졌다.
ERROR: Could not find a version that satisfies the requirement pytorch-nightly==1.0.0 (from versions: none)
ERROR: No matching distribution found for pytorch-nightly==1.0.0
Bash
복사
•
pytorch 1.2.x nightly 가 pytorch 1.0.0 nightly 의 상위 호환일 것이라고 생각하고 설치를 진행해 보거나, 높은 버전의 stable 배포판을 사용해야 할 것 같다.
2.
GPU 로 학습되었다는 이유만으로 코드를 실행하기 위해 GPU 전용 설치가 필요할까?
•
대부분의 머신러닝 프레임워크들은 gpu 실행뿐 아니라 cpu 실행도 지원한다. 어차피 코드가 단순히 돌아가는지를 확인하는 것이 목적이면 cpu 에서만 잘 돌아도 되는 것 아닌가? 하는 의문이 든다.
•
이것은 직접 실험하면서 확인해 보는 것이 좋을 것 같다.
3.
도커 컨테이너에서 NVIDIA GPU를 사용할 수 있도록 환경을 구성하는 방법이 무엇인가?
•
nvidia docker 을 설치해야 한다.
◦
◦
nvidia docker 가 설치되어 있다면 전용 커맨드인 nvidia-docker run 커맨드가 아니라 docker run 커맨드를 통해 컨테이너를 실행해도 컨테이너 환경에서 GPU를 찾아낼 수 있다.
◦
참고로, nvidia driver 은 gpu 가 없어도 설치할 수 있다. 따라서 로컬 환경에 nvidia driver 과 docker 을 설치한 뒤 nvidia docker 을 설치할 수 있다. 그렇다고 nvidia-docker 을 사용한다고 하더라도 GPU 가 없는 환경에서 ‘GPU 가 있는 척’ 을 하며 프로그램을 실행할 수 있다는 것은 아니니, 오해하지 말자.
•
구현체를 실행하기 위해 삽질해볼 수 있는 경우의 수들 (from1:이렇게 이 구현체를 돌리기 위한 작업에 집착하는 이유)
1.
No GPU
맥북, MacOS
저자가 제공하는 스크립트 →
•
pytorch nightly 1.2.0
•
하지만 nvidia apex 설치가 불가능했다. 아마 apex 는 gpu 가 없는 환경에서 설치가 불가능할 것으로 예상.
•
당장 테스트 코드가 안 돌아감. 테스트 코드가 안 돌아가는데 training 코드가 돌아갈 가능성이 거의 없을 것 같아서 더이상 하지 않고 포기할 예정.
맥북, MacOS-docker, 리눅스 컨테이너 →
Mocked GPU
•
nvidia docker 을 사용한다고 하더라도 GPU 가 없는 환경에서 ‘GPU 가 있는 척’ 을 하며 프로그램을 실행할 수 있다는 것은 아니다.
GPU, WSL-docker, 리눅스 컨테이너 (DRI: @Beeline) →
•
@10/18/2022 동작하지 않음을 확인
2.
with GPU
GPU 서버, 리눅스 →
다음 환경으로 설치 시도 →
환경
발생한 문제
GPU 서버, 리눅스-도커, 리눅스 컨테이너 (DRI: @이장후) →
저자의 도커파일을 최대한 유지하며 설치 시도 →
환경
발생한 문제들
apex 기준에 맞는 pytorch 를 기준으로 설치 시도 →
환경
발생한 문제들
pytorch 버전과 CUDA 버전을 최대한 올려서 설치를 시도 →
환경
발생한 문제들
pytorch 버전을 조정해서 설치를 시도 →
환경
발생한 문제들
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.
from : 과거의 어떤 생각이 이 생각을 만들었는가?
3.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?
1.
None
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는가?
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되고 이어지는가?
참고 : 레퍼런스
1.
None