새소식

반응형
Vision AI/미분류

mmpretrain 오픈소스 도커 빌드해서 사용하기

  • -
반응형

파이썬에서 anaconda3도 많이 사용하지만 anaconda3 만을 사용해서 오픈소스를 재현하기에는 돌발상황이 많이 발생합니다.

 

 

예를 들어, pip install -r requirements.txt 로 install을 한방에 할 수 있습니다. 하지만 이 경우에 생길 돌발상황들은

  1. requirements.txt 관리를 하지 않아 패키지간 confilct가 생겨 설치가 되지 않음.
  2. 파이썬 버전과 패키지간 호환이 되지 않아 설치가 되지 않음.
  3. CUDA, cudnn 별도 설치
  4. 다른 오픈소스를 사용해보고 싶을 경우 CUDA, cudnn path를 계속 바꿔줘야함
  5. 등등 예상치 못한 설치 실패 상황이 다수 발생할 수 있음

 

이런 수 많은 삽질과 돌발 상황들이 많이 있습니다.

그렇기 때문에 요즘은 오픈소스에서 재현을 편하게 해보기 위해서 github에 Dockerfile을 많이 올려두는 추세입니다.

 

 

Dockerfile로 빌드를 하면

  1. pip install을 필요한 것만 하거나, 아예 하지 않아도 됨
  2. CUDA, cudnn 설치를 하지 않아도 됨
  3. Python 부터 환경을 만들어주지 않아도 됨

 

더 장점이 많을 것이지만 대표적으로 이런 장점이 있습니다.

이런 장점들을 누리기 위해서는 docker에 익숙해질 필요가 있습니다. 예시를 들어 함께 실습을 하나 해보도록 하겠습니다.

 

 

1. mmpretrain github를 clone 받습니다.

git clone <https://github.com/open-mmlab/mmpretrain.git>

 

2. Dockerfile이 있는 docker 폴더로 들어가서 Dockerfile을 빌드합니다.

docker build -t mmpretrain:v1 .

 

3. 빌드된 docker image로 컨테이너를 만듭니다.

docker run -it -d \\
        --ipc=host \\
        --gpus all \\
        --name mmpretrain_v1 \\
				-v /클론받은경로:/도커내에서연동할경로
        mmpretrain:master \\
        /bin/bash

 

4. 테스트를 한번 해봅니다. mmpretrain으로 테스트를 하는 방법은 아래 링크에 있습니다.

https://beelinekim.tistory.com/100

 

mmpretrain (classification) 사용법

mmpretrain 프레임워크는 리뉴얼 되면서 mmclassification과 mmSelfsUp (self-supervised learning) 이 통합되었다. task마다 docker를 만들어야 되다 보니 두 프레임워크가 합쳐진건 환영할만한 일이다.👏 아래 설명

beelinekim.tistory.com

 

 

다른 github 오픈소스에서도 Dockerfile이 많이 때문에 이런 방식으로 빌드를 해서 쓰게 되면 수많은 오픈소스들을 내 컴퓨터에서 테스트를 해볼 때 상당히 도움이 됩니다.

 

 

 

도움이 되셨다면 아무 광고나 클릭 한 번 부탁드립니다👍

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~