//
Search
✍🏻

[1_6.2.2] 과제 제출을 위한 도커 패키징 형식에 대해 이해한다.

상태
In progress
담당
마감일
2022/11/29
요약
선행 태스크
선행 태스크 상태
후행 태스크
관련 마일스톤
2 more properties

컨테이너를 커밋하고 레이어를 추가

docker commit 07f9462f8e7b cognet9-aihub-test-release:v1
Plain Text
복사
docker commit {container-id} {image-name}:{tag}
docker commit 07f9462f8e7b cognet9-aihub-test-release
Plain Text
복사
docker commit {container-id} {image-name}:{tag}

컨테이너 이미지를 파일로 저장

데이터와 모델파일 등이 없는 상태에서 10분정도 소요됨.
docker save --output cognet9-aihub-image.tar cognet9-aihub-test-release:v1
Plain Text
복사
docker save --output {file-name} {image-name}:{tag}
docker save --output model2-finance-image.tar cognet9-aihub-test-release
Plain Text
복사
docker save --output {file-name} {image-name}:{tag}
만들어진 tar 파일을 추론 서버로 전송한다.

파일로 추출된 컨테이너 이미지 파일을 실행

. └── cognet9-aihub-image.tar
Bash
복사
작업 디렉토리 구조
docker load --input cognet9-aihub-image.tar
Bash
복사
압축할 때 사용했던 이미지파일이 복원됨. 이 경우에는 cognet9-aihub-test-release:v1 임.
docker load --input model2-finance-image.tar
Bash
복사
압축할 때 사용했던 이미지파일이 복원됨. 이 경우에는 cognet9-aihub-test-release:latest 임.

도커 컨테이너 내부에 접속

docker run -it --rm --shm-size=180G \ --name cognet9-aihub-test-release \ -v ${PWD}/data/:/workspace/images/data \ cognet9-aihub-test-release:v4 \ /bin/bash
Bash
복사
docker run -it {option(s)} {image-name} {command}
docker run -it --rm --shm-size=120G \ --name cognet9-aihub-test-release \ -v ${PWD}/data/:/root/dev/oss/src_mmocr/data \ cognet9-aihub-test-release \ /bin/bash
Bash
복사
docker run -it {option(s)} {image-name} {command}

볼륨 디렉토리 ./data 에 다음과 같은 형태로 데이터를 전달한다.

Bash
복사
imgs
1/2 resized imgs
jsons
1/2 resized imgs
data └── e2ef1 └── dataset_name └── part_100of100 └── test ├── imgs └── jsons
Plain Text
복사
data
도커 컨테이너에 마운트된 디렉토리이다.
dataset_name
금융 모델은 aihub_finance, 물류 모델은 aihub_transit 이 입력된다.
imgs
1/2 resized 된 이미지파일들이 들어간다.
jsons
“사이즈가 줄지 않은” json 파일들이 들어간다. 즉, imgs 디렉토리에 저장된 이미지상 bbox 의 좌상단 좌표가 (10, 20) 이라면, json 파일에는 (20, 40) 이 기록되어 있다.

(단계 2에서 실행한 컨테이너로) 금융/물류 모델 실행

docker exec cognet9-aihub-test-release \ bash -c 'cd /workspace && ./run_finance.sh'
Bash
복사
금융 모델: docker exec {container-name} {command}
docker exec cognet9-aihub-test-release \ bash -c 'cd /workspace && ./run_transit.sh'
Bash
복사
물류 모델: docker exec {container-name} {command}
docker exec cognet9-aihub-test-release \ bash -c 'cd ~/dev && ./run_finance.sh'
Bash
복사
금융 모델: docker exec {container-name} {command}
docker exec cognet9-aihub-test-release \ bash -c 'cd ~/dev && ./run_transit.sh'
Bash
복사
물류 모델: docker exec {container-name} {command}

제출용 문서

AWS S3 에 푸시

1.
설치
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
Plain Text
복사
. ├── aws │ ├── dist │ ├── install │ ├── README.md │ └── THIRD_PARTY_LICENSES ├── awscliv2.zip ├── data │ ├── det │ ├── raw │ └── rec ├── e2ef1 │ └── aihub_finance ├── fiftyone-env │ ├── docker-compose.yml │ ├── fiftyone │ └── volume ├── mmocr-docker-test │ ├── data │ └── docker-template ├── mmocr-env │ ├── docker-compose.yml │ ├── dockerfiles │ └── volume └── pmtd-env ├── docker-compose.yml ├── dockerfiles └── volume
Plain Text
복사
2.
인증
aws configure
Plain Text
복사
3.
전송
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 ls s3://aidata-2022-01-006
Plain Text
복사
ls
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 ls "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/"
Plain Text
복사
코그넷나인 워크스페이스
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp <local_file_path> \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/<...>/<file_name>"
Plain Text
복사
a.
도커 이미지 → model2-finance-image.tar
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/도커이미지/"
Plain Text
복사
도커 이미지 디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-image.tar \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/도커이미지/model2-finance-image.tar"
Plain Text
복사
nohup sh -c \ "docker save --output model2-finance-image.tar cognet9-aihub-test-release \ && \ aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-image.tar \ 's3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/도커이미지/model2-finance-image.tar'" \ > nohup.out 2>&1 &
Plain Text
복사
b.
시험 환경 → model2-finance-envinfo.pdf
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/시험환경/"
Plain Text
복사
시험 환경 디렉토리
c.
평가수행 로그
a.
1,2. time stamp 및 실행 명령어 → model2-finance-log.zip
zip model2-finance-log.zip e2e_finance.log nohup_finance.out
Plain Text
복사
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/1,2. time stamp 및 실행 명령어/"
Plain Text
복사
디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-log.zip \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/1,2. time stamp 및 실행 명령어/model2-finance-log.zip"
Plain Text
복사
b.
3. 문제당 개별 결과값 → model2-finance-score.zip
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/3. 문제당 개별 결과값/"
Plain Text
복사
디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-score.zip \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/3. 문제당 개별 결과값/model2-finance-score.zip"
Plain Text
복사
c.
4. 계산할 떄 사용된 값 → model2-finance-score.zip
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/4. 계산할 떄 사용된 값/"
Plain Text
복사
디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-score.zip \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/4. 계산할 떄 사용된 값/model2-finance-score.zip"
Plain Text
복사
d.
5. 최종 결과값 → model2-finance-total.json
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/5. 최종 결과값/"
Plain Text
복사
디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-total.json \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가수행로그/5. 최종 결과값/model2-finance-total.json"
Plain Text
복사
d.
평가용 데이터셋 → model2-finance-data.zip
zip -r model2-finance-data.zip e2ef1 -x *gts* *preds* *matrix* *vis*
Plain Text
복사
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ ls \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가용 데이터셋/"
Plain Text
복사
평가용 데이터셋 디렉토리
aws --endpoint-url=https://kr.object.ncloudstorage.com s3 \ cp model2-finance-data.zip \ "s3://aidata-2022-01-006/025.OCR 데이터(금융 및 물류)/06.품질검증/3.유효성증빙/01. 문자인식성능/평가용 데이터셋/model2-finance-data.zip"
Plain Text
복사
업로드