TensorFlow로 콘솔에서 학습하기
이 문서는 TensorFlow를 이용하여 MNIST 데이터세트를 학습하여 손글씨를 식별하는 모델을 Tensorflow Serving으로 배포하는 방법을 안내합니다. Pytorch와 Triton 사용 방법은 PyTorch로 학습하기 > Console 문서를 참고하시기 바랍니다.
학습 코드 준비
Python으로 작성된 Tensorflow 학습 코드를 준비합니다.
-
아래의 학습 코드를 mnist.py로 저장합니다.
코드예제Tensorflow 학습 코드
import argparse import os import tensorflow as tf def train(): print("TensorFlow version: ", tf.__version__) parser = argparse.ArgumentParser() parser.add_argument('--output_dir', default='/app/outputs', type=str) #실행 아웃풋 저장 위치 지정(지정하지 않을 경우 저장되지 않음) args = parser.parse_args() output_dir = args.output_dir version = 1 export_path = os.path.join(output_dir, str(version)) (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.01), loss='sparse_categorical_crossentropy', metrics=['accuracy']) print("Training...") tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=os.path.join(output_dir, "logs")) #TensorBoard 설정 training_history = model.fit(x_train, y_train, batch_size=64, epochs=10, validation_split=0.2, callbacks=[tensorboard_callback]) print('\\nEvaluate on test data') results = model.evaluate(x_test, y_test, batch_size=128) print('test loss, test acc:', results) model.save(export_path) print('"Saved model to {}'.format(export_path)) if __name__ == '__main__': train()
-
터미널에서 아래 명령을 실행하여 학습 코드를
.tar.gz
파일로 압축하거나mnist.tar.gz
파일을 직접 다운받습니다.코드예제파일 압축 Sample Code
tar -zcvf mnist.tar.gz mnist.py
mnist.tar.gz 파일
Step 1. 로그인 및 워크스페이스 진입하기
이 단계에서는 Kakao i Machine Learning에 로그인하고, 워크스페이스로 진입합니다.
로그인하기
가입한 Kakao i Cloud (공공) 계정으로 로그인합니다.
워크스페이스 진입하기
워크스페이스 목록에서 원하는 워크스페이스를 클릭해 홈 화면으로 진입합니다.
Step 2. 실험과 실행 만들기
이 단계에서는 새로운 실험을 만들고, 그에 속한 새로운 실행을 만듭니다. 실험이나 실행 개념에 대한 자세한 설명은 실험/실행 문서를 참고하시기 바랍니다.
안내
이 가이드에서 사용하는 학습 코드는 데이터세트 등록이 필요하지 않습니다. 학습 코드 실행 시 자체적으로 데이터세트를 다운로드합니다.
실험 만들기
-
Kakao i Machine Learning 콘솔에서 실험 메뉴를 클릭 후, [실험 만들기] 버튼을 클릭합니다.
그림실험 만들기 팝업창
-
실험 만들기 팝업창에서 실험에 필요한 정보를 입력하고 [만들기] 버튼을 클릭합니다.
- 이름: 영어 대·소문자, 숫자, 일부 특수문자 (
-
,_
)만 입력할 수 있습니다.
- 이름: 영어 대·소문자, 숫자, 일부 특수문자 (
-
실험 화면으로 돌아가면, 실험 목록에서 방금 만든 실험을 확인할 수 있습니다.
실행 만들기
-
Kakao i Machine Learning 콘솔에서 실험 메뉴를 클릭 후, 실험 목록에서 방금 만든 실험 이름을 클릭하여 실험 상세 페이지로 이동합니다.
-
실험 상세 페이지에서 좌측 상단의 [실행 만들기] 버튼을 클릭합니다.
-
1단계: 기본 설정 화면에서 실행에 필요한 정보를 입력하고, [다음] 버튼을 클릭합니다.
그림실행 기본 설정
표1단계: 기본 설정 화면 구성
항목 설명 기본 설정 정보 실험 실험 만들기 단계에서 만든 실험 선택 실행 이름 실행을 만드는 시간 기준으로 실행 이름이 자동으로 입력됨
- 튜토리얼에서는mnist-run
입력실행 설명(선택) 부가 설명이 필요한 경우 입력 학습을 실행하고자 하는 인스턴스의 타입과 수량 인스턴스 유형 GPU 포함
을 선택인스턴스 타입 원하는 인스턴스 타입
- 공공 클라우드 환경:1A100-16-MO
카드 선택인스턴스 개수 위에서 선택한 인스턴스에 대해 원하는 수량 입력
- 튜토리얼에서는1
입력이미지 학습 실행에 사용할 이미지 선택
- 가이드에서는cosmos-tensorflow2.7.1-cuda11.2-cudnn8-py3.8-ubuntu20.04
선택 -
2단계: 실행 구성 화면에서 학습을 실행하기 위한 데이터세트와 소스 코드 등의 정보를 입력한 후, [다음] 버튼을 클릭합니다.
그림실행 구성 설정
항목 설명 실행 인풋(선택) 학습에 사용할 데이터세트가 사전 등록된 경우 선택
- 가이드에서는 선택하지 않음실행 아웃풋 학습 로그 및 결과물(모델)이 저장되는 위치
- 아웃풋 저장 시,/app/outputs
경로에 저장됨학습에 사용할 데이터세트, 모델 코드 등이 저장된 위치 파일 업로드 소스 디렉토리 파일 업로드
-.tar.gz
형식 지원, 파일 크기 최대 100MB 지원
- 튜토리얼에서는 사전 준비 단계에서 만든mnist.tar.gz
파일 업로드명령어 학습을 시작할 명령어 입력
- 튜토리얼에서는python mnist.py --output_dir /app/outputs
입력
- 최대 1,024자 입력 가능환경 변수(선택) 스크립트 실행에 필요한 환경 변수
- 튜토리얼에서는 입력하지 않음 -
3단계: 검토 화면에서 지금까지 입력한 내용을 검토한 후 [만들기] 버튼을 클릭합니다.
그림실행 검토
-
실행 목록으로 돌아가면 방금 만든 실행을 확인할 수 있습니다.
-
제출한 실행이
running
상태에서 학습이 완료된completed
상태로 변경될 때까지 기다립니다.안내
실행의 진행 과정 및 결과는 TensorBoard에서 조회할 수 있습니다.- 자세한 내용은 PyTorch로 학습하기 > Console 문서의 실험 단위 텐서보드 조회하기를 참고하시기 바랍니다.
미지원 기능 안내
공공 클라우드 환경에서는 모델 추론 및 배포 기능은 지원하지 않습니다. 자세한 내용은 공공 환경 주의사항 문서를 참고하시기 바랍니다.
Step 3. 모델 등록하기
모델은 ML 모델의 수명 주기를 관리할 수 있는 모델 저장소입니다. Kakao i Machine Learning 플랫폼에서 학습한 실행을 모델로 등록하거나, 외부에서 학습한 모델을 불러올 수 있습니다. 이 단계에서는 실행을 통해 학습된 모델을 등록합니다.
-
Kakao i Machine Learning 콘솔에서 모델 메뉴를 클릭합니다.
-
모델 화면에서 우측 상단의 [모델 만들기] 버튼을 클릭합니다.
-
모델 만들기 화면의 모델 등록하기 탭에서 필요한 정보를 입력하고, [만들기] 버튼을 클릭합니다.
그림모델 기본 설정
표모델 등록하기 탭 화면 구성
항목 설명 모델 위치 새로운 모델 만들기 또는 기존 모델에 버전 추가하기 중 선택
- 새로운 모델 만들기 선택모델 기본 설정 정보 모델 이름 원하는 모델의 이름
- 튜토리얼에서는mnist-model
입력모델 설명(선택) 모델에 대한 상세한 설명이 필요한 경우 입력 모델 별칭(선택) 특정 버전의 모델을 식별하는데 도움을 주는 키워드 실험과 실행을 선택하면, 해당 실행의 결과로 학습된 모델을 자동으로 불러옴
- 가이드에서는 이전 단계에서 생성한 실험과 실행을 선택실험/실행 생성한 실험과 실행을 선택
- 해당 실행의 결과로 학습된 모델을 자동으로 불러옴
- 튜토리얼에서는 앞 단계에서 생성한 실험과 실행을 선택실행 아웃풋 경로 아웃풋 모델이 저장된 경로
- 가이드에서는 공란으로 비워둠태그(선택) 모델에 대한 태그가 필요한 경우 입력 -
모델 화면으로 돌아가면, 모델 목록에서 방금 만든 모델을 확인할 수 있습니다.
Step 4. 등록한 모델 배포하기
모델 서빙이란 학습된 모델이 포함된 인스턴스를 API 엔드포인트로 배포하는 것을 말합니다. 이 단계에서는 앞에서 학습하고 등록한 모델을 서빙하는 방법을 안내합니다.
안내
등록한 모델 배포 기능은 Tensorflow Serving과 Triton 프레임워크를 지원합니다. Triton에서는 TorchScript만 사용할 수 있습니다.
- 별도의 이미지를 서빙하고 싶은 경우에는 PyTorch로 학습하기 > Console 문서의 부록. 모델 이미지 서빙하기를 참고하시기 바랍니다.
엔드포인트 만들기
-
Kakao i Machine Learning 콘솔에서 엔드포인트 메뉴를 클릭합니다.
-
엔드포인트 화면의 우측 상단 [엔드포인트 만들기] 버튼을 클릭합니다.
-
1단계: 엔드포인트 화면에서 기본 정보를 입력하고 [다음] 버튼을 클릭합니다.
그림엔드포인트 정보 입력
표1단계: 엔드포인트 화면 구성
항목 설명 엔드포인트 기본 정보 엔드포인트 이름 엔드포인트의 이름 엔드포인트 설명(선택) 엔드포인트에 대한 상세한 설명이 필요할 경우 입력 태그(선택) 엔드포인트에 대한 태그가 필요한 경우 입력 -
2단계: 배포 화면에서 배포 1에 이름과 포트 설정값을 입력하고 이미지를 선택합니다.
안내
배포는 최대 2개까지 만들 수 있으며, 이 튜토리얼에서는 하나의 배포를 만듭니다.그림엔드포인트 배포 생성
표1단계: 엔드포인트 화면 구성
항목 설명 배포 이름 배포 이름
- 튜토리얼에서는mnist-deployment
입력배포 방식 배포 방식
-NVIDA Trition Inference Serving
선택배포 이미지 배포할 이미지 선택
- 등록한 모델 배포 기능은 Triton, TF Serving, Cosmos Serving 기본 이미지에서 지원
- 튜토리얼에서는cosmos-tritonserver-22.06-py3
선택Triton Config Triton 배포를 적용하기 위한 설정값 입력
- 튜토리얼에서는 아래 예제를 참고하여 입력코드예제튜토리얼 코드용 Triton Config Sample Code
platform: "pytorch_libtorch" input [ { name: "input__0" data_type: TYPE_FP32 dims: [ 1, 1, 28, 28 ] } ] output [ { name: "output__0" data_type: TYPE_FP32 dims: [ 1, 10 ] } ]
-
이미지 선택 후, 모델 설정 및 선택한 이미지에 맞는 추가 정보를 입력할 수 있습니다. 모델 설정 및 추가 정보를 입력하고 [다음] 버튼을 클릭합니다.
표1단계: 엔드포인트 화면 구성
항목 설명 모델 배포를 원하는 모델
- 튜토리얼에서는 앞서 등록한 모델명 선택Tensorflow Serving Tensorflow Serving 이미지를 선택한 경우, 배포를 위한 상세 정보 입력
- 사용자가 작성한 코드에 맞게 입력
- 가이드에서는 변경 없이 진행인스턴스 구성 워크스페이스에 할당된 쿼터에서 내에서 원하는 인스턴스 타입과 개수 선택
- 튜토리얼에서는GPU 포함
1V100-4-MO
선택, 수량1
입력환경 변수(선택) 환경 변수 설정이 필요한 경우 입력 태그(선택) 배포에 대한 태그가 필요한 경우 입력 -
3단계: 트래픽 설정 화면에서 아무것도 변경하지 않고 [다음] 버튼을 클릭합니다.
그림엔드포인트 트래픽 설정
튜토리얼 Tip!
배포를 여러 개 만들 경우, 트래픽을 분할하는 비율이나 미러링 모드 활성화 여부를 지정할 수 있습니다.
이 튜토리얼에서는 배포가 1개이므로 트래픽은 100%로 고정됩니다.표3단계: 트래픽 화면 구성
항목 설명 미러링 모드 활성화(토글) 활성화 시, 메인 배포에 입력된 트래픽을 다른 배포에도 복제하여 전송
- 메인 배포 선택 필요
- 트래픽 비율은100%
로 고정트래픽 할당 비율 조정 각 배포에 배분할 트래픽 비율 입력
- 숫자를 직접 입력하거나 슬라이더를 조정(5단위로 조정 가능) -
4단계: 검토 페이지에서 입력한 내용을 검토한 후 [만들기] 버튼을 클릭합니다.
그림엔드포인트 검토
배포한 모델 테스트하기
배포한 모델을 테스트하는 방법은 다음과 같습니다.
-
Kakao i Machine Learning 콘솔에서 엔드포인트 메뉴를 클릭합니다.
-
엔드포인트 목록에서 방금 생성한 엔드포인트 이름을 클릭합니다.
-
엔드포인트 정보 탭의 기본 정보에서 엔드포인트와 API Key를 별도로 복사합니다.
그림엔드포인트 기본 정보
-
터미널에서 테스트 코드를 실행합니다.
코드예제테스트 코드 Syntax
curl -X POST {엔드포인트 주소}/v2/models/model/infer \ --data-raw '{ "inputs" : [ { "name" : "input__0", "datatype":"FP32", "shape" : [ 1, 1, 28, 28 ], "data" : [[[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07058823853731155, 0.16862745583057404, 0.30588236451148987, 0. 6117647290229797, 0.9921568632125854, 0.9921568632125854, 0.8235294222831726, 0.8549019694328308, 0.11764705926179886, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2235294133424759, 0.7803921699523926, 0.9921568632125854, 0.9882352948188782, 0. 9882352948188782, 0.9882352948188782, 0.9882352948188782, 0.9921568632125854, 0.9882352948188782, 0.8666666746139526, 0.24705882370471954, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4941176474094391, 0.9647058844566345, 0.9882352948188782, 0. 8392156958580017, 0.4941176474094391, 0.2862745225429535, 0.08235294371843338, 0. 08235294371843338, 0.08235294371843338, 0.529411792755127, 0.9843137264251709, 0. 5333333611488342, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 08627451211214066, 0.929411768913269, 0.9254902005195618, 0.5686274766921997, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7019608020782471, 0.9058823585510254, 0.21568627655506134, 0.250980406999588, 0. 16862745583057404, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 3333333432674408, 0.9882352948188782, 0.3960784375667572, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08627451211214066, 0.9882352948188782, 0.9215686321258545, 0.9921568632125854, 0. 9372549057006836, 0.06666667014360428, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 3333333432674408, 0.9921568632125854, 0.3294117748737335, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6627451181411743, 0.9921568632125854, 0.9019607901573181, 0.4156862795352936, 0. 03529411926865578, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.3333333432674408, 0. 9882352948188782, 0.3294117748737335, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 6627451181411743, 0.9882352948188782, 0.5137255191802979, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] , [0.0, 0.0, 0.0, 0.0, 0.0, 0.3333333432674408, 0.9882352948188782, 0.5568627715110779, 0. 01568627543747425, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04313725605607033, 0.8274509906768799, 0. 9882352948188782, 0.45098039507865906, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0. 0, 0.0, 0.10980392247438431, 0.9372549057006836, 0.9882352948188782, 0.5411764979362488, 0. 250980406999588, 0.16862745583057404, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08627451211214066, 0. 9882352948188782, 0.9882352948188782, 0.8274509906768799, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] , [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21960784494876862, 0.9882352948188782, 0.9882352948188782, 0. 9921568632125854, 0.9372549057006836, 0.8274509906768799, 0.8274509906768799, 0.8274509906768799, 0.1764705926179886, 0.0, 0.08627451211214066, 0.9882352948188782, 0.9882352948188782, 0. 8274509906768799, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.3490196168422699, 0.41960784792900085, 0.7254902124404907, 0.45098039507865906, 0. 4156862795352936, 0.07058823853731155, 0.0, 0.0, 0.08627451211214066, 0.9921568632125854, 0. 9921568632125854, 0.8313725590705872, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08627451211214066, 0. 9882352948188782, 0.9882352948188782, 0.9529411792755127, 0.1882352977991104, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.007843137718737125, 0.686274528503418, 0.9882352948188782, 0.9921568632125854, 0. 2823529541492462, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6627451181411743, 0.9882352948188782, 0. 9921568632125854, 0.658823549747467, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4941176474094391, 0. 9882352948188782, 0.9921568632125854, 0.7960784435272217, 0.03529411926865578, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.10588235408067703, 0.8980392217636108, 1.0, 0.9921568632125854, 0.08235294371843338, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.5137255191802979, 0.9921568632125854, 0.9882352948188782, 0. 08235294371843338, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3803921639919281, 0.9921568632125854, 0. 9882352948188782, 0.29019609093666077, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7176470756530762, 0. 9882352948188782, 0.5960784554481506, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16470588743686676, 0. 886274516582489, 0.38823530077934265, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0. 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]]] } ] }'
표배포 모델 테스트 호출 방식
메서드 요청 URL POST {엔드포인트 주소}/v2/models/model/infer
표테스트 코드 Parameters
파라미터 설명 엔드포인트 주소 엔드포인트 정보의 엔드포인트 API Key 엔드포인트 정보의 API Key -
정상적으로 실행된다면 아래와 같이 응답을 확인할 수 있습니다.
코드예제정상 응답 실행 Sample Code
{"model_name":"model","model_version":"1","outputs":[{"name":"output__0","datatype":"FP32","shape":[1,10],"data":[-7.412685394287109,-11.19141674041748,-2.4548983573913576,-4.434718132019043,-5.006168365478516,-5.374503135681152,-11.610991477966309,0.5824547410011292,-4.415952205657959,3.276334524154663]}]}%
Step 5. 리소스 정리하기
엔드포인트에 모델이 배포된 상태에서는 실제로 모델이 호출되지 않더라도 인스턴스가 계속해서 사용되며, 워크스페이스 컴퓨팅 자원 할당량을 차지합니다. 이를 원하지 않으면 엔드포인트와 모델 배포를 삭제해야 합니다.
주의
배포 테스트를 완료 후, 리소스 반납을 위해 엔드포인트를 반드시 삭제해야 합니다.
-
Kakao i Machine Learning 콘솔에서 엔드포인트 메뉴를 클릭합니다.
-
엔드포인트 화면에서 엔드포인트 목록에서 생성한 엔드포인트 이름을 클릭합니다.
-
엔드포인트 이름 옆 [더보기] 아이콘을 클릭 후, 엔드포인트 삭제를 클릭합니다.
그림엔드포인트 상세 화면
-
엔드포인트 삭제 팝업창에서 텍스트 입력창에 삭제할 엔드포인트 이름을 입력 후, [삭제] 버튼을 클릭합니다.
그림엔드포인트 삭제