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

[KT클라우드]AlexNet

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

AlexNet은 image classification 분야에서 처음으로 성공적으로 활용된 CNN 모델로, 224×224 크기의 이미지를 입력 받아 풍선, 딸기, 고양이 등 사전에 정의된 여러 가지 사물 유형 중 하나로 분류합니다. AlexNet은 딥 뉴럴 네트워크가 실제로 어려운 문제를 푸는 데에 활용될 수 있음을 최초로 보인 기념비적인 모델이며, 이후 개발된 모든 딥 뉴럴 네트워크에 직·간접적으로 영향을 끼쳤습니다.
Hyperscale AI Computing 서비스를 사용해 AlexNet 모델을 학습시키고, 또 학습된 모델을 사용해 실제 이미지를 분류할 수 있습니다. 학습/추론을 위한 PyTorch 스크립트와, 실제 모델 학습을 시켜 보기 위한 샘플 데이터(ImageNet 데이터베이스의 일부)를 제공합니다. ImageNet 데이터베이스와 호환되는 포맷의 데이터가 있다면 이를 사용해 AlexNet 모델을 학습시킬 수 있습니다.
VM 생성 권장 사양
3D U-Net 학습을 위해서는 최소 다음 사양으로 VM을 생성하기를 권장합니다.
  • OS: Ubuntu 18.04
  • CPU: 8 vCore
  • 메인 메모리: 32 GB
  • VM 생성 시 Hyperscale AI Computing 서비스가 제공하는 여러 가지 AI 가속기 모델 중 한 가지를 선택해야 합니다. AI 가속기 모델에 따라 AlexNet 모델의 학습 시간이 달라집니다. 다음 계산 성능 측정치를 참고하여 AI 가속기 모델을 선택하십시오. 특히 AlexNet 학습 용도로는 small.16gb 혹은 medium.32gb 모델을 선택하시기를 권장합니다. 모델 구조 상 크기가 큰 AI 가속기에서 추가적인 성능 향상을 얻지 못할 수 있습니다. 너무 부담 가지실 필요는 없습니다 — VM을 생성한 후에도 언제든지 필요하다면 AI 가속기 모델을 다른 것으로 변경할 수 있습니다.
AI 가속기 모델학습 처리 속도(초당 이미지 학습량)샘플 데이터 1회 학습(1 epoch)시 소요 시간
small.16gb575.6장3분 46초
medium.32gb1111.9장2분 1초
위 성능은 테스트 환경에서 측정된 것으로 실 사용 환경에서는 차이가 생길 수 있습니다.
또한 VM의 reference model로는 Vision 카테고리의 AlexNet 모델을 선택하십시오. 마지막으로 "생성하기" 버튼을 클릭하면 VM 생성이 완료됩니다.
모델 코드 및 샘플 데이터 설치
VM에 접속하면 홈 디렉터리 밑에 install.sh 스크립트가 위치하고 있습니다. 이를 실행하여 AlexNet 모델 코드 및 샘플 데이터를 설치하십시오. 설치에는 수 분 정도가 걸릴 수 있습니다. 설치 중에 VM 접속이 끊어지지 않도록 유의하십시오.
설치가 완료되면 홈 디렉터리 밑에 alexnet, dataset/imagenet_100cls 디렉터리가 생성됩니다. alexnet 디렉터리에는 AlexNet 모델 학습/추론을 위한 PyTorch 스크립트가 들어 있습니다. dataset/imagenet_100cls 디렉터리에는 샘플 데이터로 사용 가능한 ImageNet 데이터베이스의 일부가 저장되어 있습니다.
설치가 정상적으로 이루어졌다면 홈 디렉터리 밑의 downloads 디렉터리는 지워도 무방합니다.
(pytorch) ubuntu@vm:~$ ls
install.sh  sample
(pytorch) ubuntu@vm:~$ ./install.sh
 
- Installing alexnet reference code...
(중략)
Install complete!
 
- Reference code of alexnet   : [ OK    ] (Saved at /home/ubuntu/alexnet)
- Dataset imagenet_100cls     : [ OK    ] (Saved at /home/ubuntu/dataset/imagenet_100cls)
- Link dataset                : [ OK    ] (Linked dataset at /home/ubuntu/alexnet/data)
 
(pytorch) ubuntu@vm:~$ ls
alexnet  dataset  downloads  install.sh  sample
(pytorch) ubuntu@vm:~$ ls dataset
imagenet_100cls
(pytorch) ubuntu@vm:~$ ls alexnet
data  dataset  inference.py  LICENSE.md  model  requirements.txt  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  |
+==========================================================+
+----------------------------------------------------------+
AlexNet 학습 시작하기
홈 디렉터리 아래의 alexnet 디렉터리로 이동한 다음 train.py 스크립트를 실행하여 AlexNet 모델 학습을 시작할 수 있습니다.
(pytorch) ubuntu@vm:~$ cd ~/alexnet
(pytorch) ubuntu@vm:~/alexnet$ python train.py --save-model model.pt -b 128
| INFO     | __main__:parse_args:140 - PARAMETER | mode : train
| INFO     | __main__:parse_args:140 - PARAMETER | load_checkpoint :
| INFO     | __main__:parse_args:140 - PARAMETER | checkpoint_path : ./checkpoint
| INFO     | __main__:parse_args:140 - PARAMETER | checkpoint_epoch_interval : 0
| INFO     | __main__:parse_args:140 - PARAMETER | init_model :
...
[info] Requesting resources for KT AI Accelerator from the server...
[info] Initializing the worker daemon for KT AI Accelerator...
[info] [1/1] Connecting to resources on the server (192.168.00.00:00000)...
[info] Establishing links to the resources...
[info] KT AI Accelerator is ready to use.
| INFO     | __main__:train:305 - Epoch 1/100 start
...
--save-model 옵션은 학습이 완료된 모델을 어느 파일에 저장할지를 지정합니다. 위 예시의 경우 학습이 완료된 모델을 model.pt 파일에 저장합니다.

관련자료

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

공지사항


뉴스광장


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