본문 바로가기

분류 전체보기

(221)
[Docker] 이미지 레이어 구조 Dockerfile을 빌드하여 Docker 이미지를 작성하면 Dockerfile의 명령별로 이미지를 작성합니다. 작성된 여러 개의 이미지는 레이어 구조로 되어 있습니다. 다음은 4개의 명령으로 구성된 Dockerfile입니다. # Step 1 : Ubuntu (베이스 이미지) FROM ubuntu:latest # Step 2 : Nginx 설치 RUN apt-get update && apt-get install -y -q nginx # STEP 3 : 파일 복사 COPY index.html /usr/share/nginx/html # STEP 4: Nginx 시작 CMD ["nginx", "-g", "daemon off;"] Dockerfile과 같은 디렉토리에 index.html를 임의로 구성하고 doc..
[Docker] Dockerfile이란 Dockerfile Docker에서 인프라 구성을 기술한 파일을 'Dockerfile'이라고 함. Docker 이미지를 작성하기 위해서는 다음과 같은 내용들이 필요합니다. 베이스가 될 Docker 이미지 Docker 컨테이너 안에서 수행한 조작(명령) 환경변수 등의 설정 Docker 컨테이너 안에서 작동시켜둘 데몬 실행 Dockerfile은 이와 같이 Docker 상에서 작동시킬 컨테이너 구성 정보를 기술하기 위한 파일입니다. Docker의 build 명령은 Dockerfile에 기술된 구성 정보(Dockerfile)를 바탕으로 Docker 이미지를 작성합니다. Dockerfile의 기본 구문 Dockerfile은 텍스트 형식의 파일로, 에디터 등을 사용하여 작성합니다. 확장자는 필요 없으며, 'Dock..
[Docker] Container CPU 제한 docker run --it --name cpu_test1 --cpuset-cpus="0, 3" ubuntu bash //컨테이너 내부 $apt-get update $apt-get install stress $stress -c 2 Docker에서는 리소스를 제한(resource limit)하여 Container 생성 및 실행이 가능합니다. Container를 run 혹은 create 하는 경우 자원 할당량 가능 (생성 후 변경 시 update 이용) 옵션 미 지정 시 Container는 Host OS의 자원을 제한 없이 사용 가능 컨테이너의 리소스를 제한하는 기능은 Linux의 cgroups 기능 활용 Container CPU 제한 CPU 스케쥴링이란 자원을 어떤 프로세스에 얼마나 할당하는지 정책을 만드..
[Pytorch] Inception v3를 이용한 동물 이미지 분류 학습하기(하이퍼 파라미터 및 Optimizer 비교) Image Classifier 하이퍼 파라미터 비교 Kaggle에서 얻은 이미지 데이터를 Inception v3 모델을 이용하여 학습시키고 분류한다. 모델의 하이퍼 파라미터를 변경하며 학습하였을 때 모델의 분류 정확도를 비교해보자. 사용한 모델은 inception v3 모델입니다. 사용한 데이터는 다양한 동물의 이미지 사진이다. (분류 클래스 : ['butterfly', 'cow', 'dog', 'elephant', 'goat', 'hen', 'horse', 'spyder'] ) 이미지 출처 https://www.kaggle.com/kdnishanth/animal-classification Animal Classification www.kaggle.com SGD, Adam 비교 model = incept..
[Docker] 실행 중인 컨테이너 한 번에 종료(삭제)하기 Docker를 사용하다보면 한 번에 여러 컨테이너를 삭제하고 싶을 때가 있습니다. 위의 실행중인 컨테이너를 모두 삭제하려면 다음과 같이 컨테이너 ID를 통하여 하나하나 삭제하는 방법도 있지만 컨테이너가 많은 경우 힘든 방법입니다. docker rm -f 47cf2a docker rm -f c09ab .... cs 실행 중인 컨테이너를 한 번에 종료하기 쉘스크립트 문법과 docker ps 명령어의 q옵션(quiet)을 이용하면 아주 간단하게 모든 컨테이너를 삭제할 수 있습니다. docker ps의 q(quite)옵션과 a(all)옵션을 사용하면 다음과 같이 실행중인 모든 컨테이너의 id만 출력되게 됩니다. docker ps -qa cs 이 속성을 이용하여 docker ps -qa의 결과를 $()로 감싸서 ..
[백준 18352번] 특정 거리의 도시 찾기(C++) 문제 출처 www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 문제 더보기 문제에서 조건이 될만한 내용을 파란색으로 표시하였습니다. 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. 이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 ..
[Docker] Docker에서 node.js 웹 서버 실행 Docker에서 node.js 이미지를 다운로드 받아 node.js 웹 서버를 실행 시키는 예제 입니다. 1. node.js 이미지 다운로드 우선 hub.docker.com 에서 다운로드 받을 node 이미지의 버전을 확인합니다. hub.docker.com/_/node node We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our p..
[Docker] Docker에서 Nginx Webserver를 실행해보자. Docker에서 nginx 이미지를 받아 nginx Webserver를 실행시키는 예제이다. 1. Nginx 이미지 다운로드 우선 hub.docker.com 에서 다운로드 받을 nginx 이미지의 버전을 확인합니다. hub.docker.com/_/nginx nginx We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy..
[Docker] 이미지 목록 표시 (docker image ls) Docker 에서 다운받은 이미지 목록을 표시할 땐 다음과 같이 명령어를 사용한다. docker image ls [옵션] [리포지토리명] 혹은 docker images [옵션] [리포지토리명] 지정 가능한 옵션은 다음과 같다. 옵션 설명 -all, -a 모든 이미지를 표시 --digests 다이제스트 표시 여부 --no-trunc 결과를 모두 표시 --quiet, -q Docker 이미지 ID만 표시 Docker image ls 명령어를 실행하면 다음과 같다. docker image ls 출력 결과의 각 항목의 의미는 다음과 같다. 항목 설명 REPOSITORY 이미지 이름 TAG 이미지 태그명 IMAGE ID 이미지 ID CREATED 작성일 SIZE 이미지 크기 옵션을 함께 입력하면 옵션에 따라 출력..
홀드아웃 데이터셋 - 학습, 검증, 테스트 데이터 셋을 분할하는 방법(단순 홀드아웃 데이터셋, K-겹 검증) 학습, 검증, 테스트 데이터 학습데이터 셋을 갖고 알고리즘을 학습시키고, 검증 데이터셋을 이용해 알고리즘의 *하이퍼파라미터를 튜닝한다. 알고리즘 학습이 완료되면 테스트 데이터셋을 이용해 알고리즘 성능을 측정한다. 하이퍼파라미터란 네트워크를 구성하는 레이어 수, 학습률 등...을 가리킴. 일반적으로 수동으로 변경됨 학습, 검증 및 테스트 분할 홀드아웃 데이터셋(holdout dataset) 학습 데이터셋으로만 알고리즘을 학습 검증 데이터셋으로 알고리즘의 하이퍼파라미터를 튜닝 기대 성능이 달성될때까지 1, 2번을 반복적으로 수행 알고리즘과 하이퍼파라미터를 고정하고, 테스트 데이터셋으로 성능을 평가 데이터를 두 부분으로 분할하고 학습할 경우 알고리즘에 정보유출이 발생할 수 있다. 또한 알고리즘 학습과 테스트에..