da2so

Docker/Kubernetes - (5) Dockerfile
Environment: Ubuntu 18.04 1. Dockerfile 이전 글과 같이 container에서 애플리케이션이 동작하는 환경을 만들면 일일이 container안에 들어가서 설치를 위한 수작업을 해서 image로 commit해야합니다. (위의 그림) 하지만 dockerfile를 사용한다면 추가해야하는 패키지, 명령어, 코드 등을 dockerfile에 저장해놓고 build를 통해 위의 작업을 간소화할 수 있습니다. (아래 그림) 1.1 Dockerfile 생성 다음과 같이 workspace라는 디렉터리와 예제 html, dockerfile를 만들어 봅시다. FROM: 생성할 이미지의 베이스가 될 image MAINTAINER: author 및 developer 정보 (docker 1.13.0이후..

Docker/Kubernetes - (4) docker image 이해 및 배포
Environment: Ubuntu 18.04 1. Docker image Docker는 다음과 같이 docker hub라는 중앙 이미지 저장소에서 image를 다운받습니다. Docker계정만 있으면 누구든 image를 올리고 내려받을 수 있습니다. 이외에도 docker container로 구현되어 있는 docker private registry로 개인 서버에 image를 저장할 수 있는 저장소를 만들 수 있습니다만 여기서는 docker hub만을 이용하겠습니다. 오늘은 다음과 같은 차례를 통해 docker image를 이해해보죠. docker image를 Host에서 생성 해당 image를 docker hub에 업로드 해당 image를 Host에서 pull 1.1 Docker image 이해와 생성 다..

Mediapipe (2) - custom segmentation model with mediapipe
1. Mediapipe custom model 적용 이전 글 (mediapipe 이해)와 같은 실험환경에서 글을 작성하니 참고 바랍니다. 이번 글에서는 custom하게 만들어놓은 tflite model로 mediapipe에 적용해보겠습니다. tflite model의 task는 portrait segmentation 이며 mac book의 camera를 통해 live로 portrait segementation을 목적으로 합니다. 이제 차근차근 한 Step씩 custom한 모델을 mediapipe에 어떻게 적용시키는 지 보시려면 아래부터 쭉 읽으시면 되시고 과정은 생략하고 빠르게 결과를 확인하고 싶으실 경우 밑에 Appendix 1.을 읽어보시면 됩니다. 1.1 portrait segmentation mod..

Docker/Kubernetes - (3) docker container 네트워크/로깅/제한
Enviroment: Ubuntu 18.04 1. Docker container 네트워크 Docker는 컨테이너에 내부 IP를 순차적으로 할당하며, IP는 컨테이터 재시작마다 변경될 수 있습니다. 컨테이너 내부의 IP는 외부와 연결될 수 있도록 Host에 veth(virtual eth)라는 네트워크 인터페이스를 자동으로 만들게 됩니다. 그렇다면 각 컨테이너 마다 veth를 생성하게 되고 docker0이라는 브리지를 통해 veth인터페이스와 바인딩되어 호스트의 eth0과 연결시켜줍니다. 실제로 Host에서 container생성후 다음과 같이 veth와 docker0를 확인가능합니다. 1.1 Docker network 기능 docker networ ls로 Docker에서 기본적으로 쓸수 있는 네트워크를 확인..

Docker/Kubernetes - (2) Docker image/container
Enviroment: Ubuntu 18.04 1. Docker image/container Docker Engine에서 사용하는 기본 단위가 container와 image이고 image는 container를 생성할때 필요한 요소입니다. 1.1 Docker image Docker image 특성 여러 개의 계층으로 된 바이너리 파일 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용 도커 명령어로 image 다운 가능 Docker image 구성은 다음과 같습니다. 저장소 이미지가 저장된 장소를 의미하고 명시되지 않을경우 docker hub라는 공식 이미지 저장소에서 해당 이미지를 가져옵니다. 이미지 이름 가져올 이미지를 뜻하고 그에 대한 이름은 어떤 역할을 하는지를 나타냅니다. 태그 이미지의 버전 관리 혹..

Docker/Kubernetes - (1) Docker란?
Environment: Ubuntu 18.04 1. Docker란? Docker는 GO 언어로 작성되어 있으며 애플리케이션 deployment를 자동화하기 위한 도구입니다. 그럼 애플리케이션 자동화는 어떻게 하느냐? 바로 container를 통해 가능한데요. 컨테이너(container)는 docker engine으로부터 생성 가능하고 컨테이너에 여러 기능을 추가하여 application을 쉽게 사용가능하게 합니다. 정리하면, Docker Engine이 컨테이너를 생성 및 관리하는 주체가 될 것이며 컨테이너는 library, code, runtime 등 소프트웨어 및 애플리케이션을 구동시키는 하나의 서버처럼 작동합니다. Docker는 가상머신(환경)과 많이 비교되는 데요. 기존의 가상머신은 host Ope..

PyTorch MultiGPU (2) - Single-GPU vs Multi-GPU (DistributedDataParallel)
1. Introduction 모든 실험은 python 3.6, Pytorch 1.7.0 에서 진행되었음을 알려드립니다. 해당 글은 Pytorch에서 이전 글에서 말씀드린 Pytorch의 DistributedDataParallel에 대해 설명드립니다. 이전 글과 Experiment setting은 동일하니 궁금하시면 이전 글에서 참고 하십시오! 오늘 설명드릴 목차는 다음과 같습니다. DistributedDataParallel 이란? DistributedDataParallel 사용 방법 DistributedDataParallel 결과 비교 (with Single-GPU and DataParallel) 2. DistributedDataParallel (DDP) 이란? DataParallel(DP)과 비교했을 ..