강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]SSD

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

SSD는 one-stage object detection 모델 중 하나로, 이미지를 입력 받아 사물의 종류와 해당 사물의 위치(bounding box)를 한 번에(one-stage) 파악합니다.
Hyperscale AI Computing 서비스를 사용해 SSD300 모델을 학습시키고, 또 학습된 모델을 사용해 실제 이미지를 분류할 수 있습니다. 학습/추론을 위한 PyTorch 스크립트와, 실제 모델 학습을 시켜 보기 위한 샘플 데이터(COCO 2017 데이터셋)를 제공합니다. COCO 2017 데이터셋과 호환되는 포맷의 데이터가 있다면 이를 사용해 SSD300 모델을 학습시킬 수 있습니다.
VM 생성 권장 사양
SSD 학습을 위해서는 최소 다음 사양으로 VM을 생성하기를 권장합니다.
  • OS: Ubuntu 18.04
  • CPU: 16 vCore
  • 메인 메모리: 64 GB
  • VM 생성 시 Hyperscale AI Computing 서비스가 제공하는 여러 가지 AI 가속기 모델 중 한 가지를 선택해야 합니다. AI 가속기 모델에 따라 SSD300 모델의 학습 시간이 달라집니다. 다음 계산 성능 측정치를 참고하여 AI 가속기 모델을 선택하십시오. 특히 SSD300 학습 용도로는 xlarge.96gb 이하의 모델을 선택하시기를 권장합니다. 모델 구조 상 크기가 큰 AI 가속기에서 추가적인 성능 향상을 얻지 못할 수 있습니다. 너무 부담 가지실 필요는 없습니다 — VM을 생성한 후에도 언제든지 필요하다면 AI 가속기 모델을 다른 것으로 변경할 수 있습니다.
AI 가속기 모델학습 처리 속도(초당 이미지 학습량)샘플 데이터 1회 학습(1 epoch)시 소요 시간
small.16gb121.6장16분 2초
medium.32gb161.2장12분 14초
large.48gb318.7장6분 17초
large.64gb419.8장4분 48초
xlarge.96gb453.12장4분 31초
위 성능은 테스트 환경에서 측정된 것으로 실 사용 환경에서는 차이가 생길 수 있습니다.
또한 VM의 reference model로는 Vision 카테고리의 SSD 모델을 선택하십시오. 마지막으로 "생성하기" 버튼을 클릭하면 VM 생성이 완료됩니다.
모델 코드 및 샘플 데이터 설치
VM에 접속하면 홈 디렉터리 밑에 install.sh 스크립트가 위치하고 있습니다. 이를 실행하여 SSD300 모델 코드 및 샘플 데이터를 설치하십시오. 설치에는 수 분 정도가 걸릴 수 있습니다. 설치 중에 VM 접속이 끊어지지 않도록 유의하십시오.
설치가 완료되면 홈 디렉터리 밑에 ssd, dataset/coco2017 디렉터리가 생성됩니다. ssd 디렉터리에는 SSD300 모델 학습/추론을 위한 PyTorch 스크립트가 들어 있습니다. dataset/coco2017 디렉터리에는 샘플 데이터로 사용 가능한 COCO 2017 데이터셋이 저장되어 있습니다.
설치가 정상적으로 이루어졌다면 홈 디렉터리 밑의 downloads 디렉터리는 지워도 무방합니다.
(pytorch) ubuntu@vm:~$ ls
install.sh  sample
(pytorch) ubuntu@vm:~$ ./install.sh
 
- Installing ssd reference code...
(중략)
Install complete!
 
- Reference code of ssd     : [ OK    ] (Saved at /home/ubuntu/ssd)
- Dataset imagenet_100cls   : [ OK    ] (Saved at /home/ubuntu/dataset/coco2017)
- Link dataset              : [ OK    ] (Linked dataset at /home/ubuntu/ssd/data)
 
(pytorch) ubuntu@vm:~$ ls
dataset  downloads  install.sh  sample  ssd
(pytorch) ubuntu@vm:~$ ls dataset
coco2017
(pytorch) ubuntu@vm:~$ ls ssd
data  dataset  inference.py  LICENSE.md  model  requirements.txt  ssd.py  train.py  utils.py
Hyperscale AI Computing 시스템 환경 확인
VM에는 기본적으로 Python 3.8, PyTorch 1.7.1 및 Hyperscale AI Computing 지원을 위한 플러그인이 설치되어 있습니다. 다음과 같이 실행하여 PyTorch 버전 및 Hyperscale AI Computing 플러그인 버전 정보를 확인할 수 있습니다.
(pytorch) ubuntu@vm:~$ python
Python 3.8.12 (default, Oct 12 2021, 13:49:34)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.7.1'
>>> torch.version.moreh
'0.8.0'
>>> quit()
(pytorch) ubuntu@vm:~$
또한 터미널에서 moreh-smi 명령을 실행하여 VM에 연결된 AI 가속기 정보를 확인할 수 있습니다.
(pytorch) ubuntu@vm:~$ moreh-smi
+--------------------------------------------------------------------------------------------------------------+
|  Moreh-SMI 0.8.0                                               Client Version: 0.8.0  Server Version: 0.8.0  |
+--------------------------------------------------------------------------------------------------------------+
|  Device  |        Name         |            Token           |     Model    |  Memory Usage  |  Total Memory  |
+==============================================================================================================+
|       1  |  KT AI Accelerator  |  ZXhhbXBsZSB0b2tlbiBzdHI=  |  small.16gb  |  -             |  -             |
+--------------------------------------------------------------------------------------------------------------+
 
Processes:
+----------------------------------------------------------+
|  Device  |  Job ID  |  PID  |  Process  |  Memory Usage  |
+==========================================================+
+----------------------------------------------------------+
SSD 학습 시작하기
홈 디렉터리 아래의 ssd 디렉터리로 이동한 다음 train.py 스크립트를 실행하여 SSD300 모델 학습을 시작할 수 있습니다.
(pytorch) ubuntu@vm:~$ cd ~/ssd
(pytorch) ubuntu@vm:~/ssd$ python train.py --save-model model.pt -b 64
| INFO     | __main__:parse_args:148 - PARAMETER | mode : train
| INFO     | __main__:parse_args:148 - PARAMETER | load_checkpoint :
| INFO     | __main__:parse_args:148 - PARAMETER | checkpoint_path : ./checkpoint
| INFO     | __main__:parse_args:148 - PARAMETER | checkpoint_epoch_interval : 0
| INFO     | __main__:parse_args:148 - PARAMETER | init_model :
...
[info] Requesting resources for KT AI Accelerator from the server...
[info] Initializing the worker daemon for KT AI Accelerator...

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  102 명