Kakao i Machine Learning::튜토리얼::Tensorflow로 학습하기::CLI

페이지 이동경로

TensorFlow로 CLI 학습하기

이 문서는 KiML CLI로 TensorFlow 모델을 학습하고 배포하는 방법을 안내합니다. Pytorch와 Triton을 사용해 모델을 학습하는 방법은 Pytorch로 학습하기 > CLI 문서를 참고하시기 바랍니다.

  • CLI는 Shell 환경에서 Kakao i Machine Learning 플랫폼을 사용하는 인터페이스입니다.
  • kiml 명령어를 사용하며, --help 로 인자값을 확인할 수 있습니다.

Step 1. Kakao i Machine Learning 패키지 설치 및 로그인하기

KiML CLI를 설치하고, 로그인하는 방법은 다음과 같습니다.

CLI 패키지 설치하기

공공 클라우드 환경을 이용하는 경우 공공 환경 로그인 문서를 참고하시기 바랍니다.

CLI 로그인하기

공공 클라우드 환경을 이용하는 경우, Kakao i Cloud (공공) 사용자 액세스 키를 발급하여 로그인합니다.

코드예제CLI 로그인 Syntax

kiml login
ApplicationID : {사용자 액세스 키 ID}
ApplicationSecret : {사용자 액세스 보안 키}

CLI 로그인 Parameters
파라미터 설명
{사용자 액세스 키 ID} Kakao i Cloud 사용자 액세스 키 ID
{사용자 액세스 보안 키} Kakao i Cloud 사용자 액세스 보안 키

Step 2. 워크스페이스 생성하기

다음 단계는 워크스페이스(Workspace)를 설정하는 작업입니다.

안내

  • 공공 클라우드 환경에는 워크스페이스 생성 기능을 제공하지 않습니다.
  • 워크스페이스에 대한 자세한 설명은 워크스페이스 문서를 참고하시기 바랍니다.
  • 리소스 할당 및 제한에 대한 자세한 설명은 리소스 할당 및 제한 문서를 참고하시기 바랍니다.
  • 워크스페이스 CLI 명령어 kiml workspace에 대한 자세한 설명은 CLI 명령어 참조 문서를 참고하시기 바랍니다.

다음 명령어를 실행하여 워크스페이스가 생성되면, 해당 워크스페이스가 기본 워크스페이스로 적용됩니다.

코드예제워크스페이스 생성

kiml workspace create {workspace-name} 

안내
TensorFlow CLI 가이드에서 제공하는 학습 코드는 데이터세트를 자동으로 다운로드 받으므로, 데이터 업로드 및 데이터세트 생성 단계를 건너뜁니다. 이 과정에 대한 가이드는 PyTorch로 학습하기 > CLI 문서를 참고하시기 바랍니다.

Step 3. 명령어를 실행할 워크스페이스 지정하기

안내
Step 2에서 생성한 워크스페이스에서 명령어를 실행시키려하는 경우, Step 3를 생략할 수 있습니다.

명령어를 실행하고자 하는 워크스페이스를 기본 워크스페이스로 지정합니다. 이후 실행되는 모든 명령어는 기본 워크스페이스를 대상으로 적용됩니다.

코드예제기본 워크스페이스 설정

kiml workspace set {workspace-name} 

Step 4. 학습 실행하기

Kakao i Machine Learning에서 머신 러닝 모델 학습을 실행하기 위해 학습 코드를 준비하고 실험과 실행을 생성합니다.

학습 코드 준비하기

  1. 아래의 학습 코드를 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()
    

실험 생성하기

학습의 실행(Run)을 만들기 전에 실험(Experiment)을 생성합니다.
실험은 하나의 학습 과제에 대한 다양한 학습 파라미터와 데이터의 적용 결과를 비교하기 위해 만들어진 개념입니다. 실험은 지정된 스크립트인 실행의 묶음으로, 다양한 실행 기록을 담고 있는 실행 집합입니다. 실험은 워크스페이스별로 저장되며, 실행 정보는 지정한 실험 하위에 자동 저장됩니다.

코드예제실험 생성 Syntax

kiml experiment create {experiment-name}

실험 생성 Parameters
파라미터 설명
{experiment-name} 실험 이름

실행 생성하기

실행(Run)은 기계학습 모델 학습을 위한 스크립트의 단일 작업으로 학습을 실행합니다. kiml run submit으로 실행을 생성합니다.

코드예제실행 생성 Syntax

kiml run submit --experiment {experiment-name} --image {image_name} --instance-type {instance-type} --num-replica 1 "python mnist.py --output_dir /app/outputs"

실행 생성 Parameters
파라미터 설명
{experiment-name} 앞에서 생성한 실험 이름
{image-name} 이미지 이름
- cosmos-tensorflow2.7.1-cuda11.2-cudnn8-py3.8-ubuntu20.04 입력
{instance-type} 인스턴스 유형
- 공공 클라우드 환경: 1A100-16-MO
안내
공공 클라우드 환경에서 제공하는 인스턴스 종류는 공공 환경 인스턴스 타입 문서를 참고하시기 바랍니다.

실행 로그 조회하기

  1. 실행(Run) 목록을 확인하여, 이전 단계에서 생성한 실행의 이름을 확인합니다. 실행 이름은 생성 시간으로 자동으로 설정합니다.

    코드예제실행 이름 확인 Syntax

    kiml run list
    

  2. 확인한 실행 이름을 입력하고 실행 로그를 확인합니다. -f 옵션은 로그를 실시간으로 조회하도록 유지합니다.

    코드예제실행 로그 확인 Syntax

    kiml run log {run-name} -f
    

    실행 로그 확인 Parameters
    파라미터 설명
    {run-name} 이전 단계에서 생성한 실행 이름

실험 결과 확인하기

실험 완료 후 원격 저장소에 접근하여 생성된 모델 파일을 확인할 수 있습니다.

  1. 학습이 완료되면, 생성된 모델 파일과 로그 내용은 원격 저장소에 실험 및 실행 별로 생성된 outputs 디렉터리에서 확인할 수 있습니다.

    안내
    모델 등록을 위해서는 모델이 저장된 outputs 하위의 디렉터리 이름을 확인합니다. 예제 코드는 모델을 outputs/1에 저장하며, 이 경우 하위 디렉터리 이름은 1 입니다.

    코드예제디렉터리 확인 Syntax

    kiml data list default/experiments/{experiment-id}/runs/{run-name}/outputs
    

    디렉터리 확인 Parameters
    파라미터 설명
    {experiment-id} 앞에서 생성한 실험 아이디
    {run-name} 앞에서 생성한 실행 이름

    코드예제실행 결과 Sample Code

    Type     Name    Size                       Date
    ------  ------  ------  -------------------------
      D     1               2023-04-14T16:09:59+09:00
      D     logs            2023-04-14T16:09:48+09:00
    

  2. 아래 명령을 실행하면 앞에서 조회한 outputs 폴더를 다운로드 받을 수 있습니다.

    코드예제outputs 폴더 다운로드 Syntax

    kiml data download default/experiments/{experiment-id}/runs/{run-name}/outputs {local-path}
    

    outputs 폴더 다운로드 Parameters
    파라미터 설명
    {experiment-id} 앞에서 생성한 실험 아이디
    {run-name} 앞에서 생성한 실행 이름
    {local-path} 폴더를 다운로드 받을 로컬 컴퓨터 상의 위치
미지원 기능 안내
공공 클라우드 환경에서는 모델 추론 및 배포 기능은 지원하지 않습니다. 자세한 내용은 공공 환경 주의사항 문서를 참고하시기 바랍니다.

Step 5. 모델 등록하기

모델은 ML 모델의 수명 주기를 관리할 수 있는 모델 저장소입니다. Kakao i Machine Learning 플랫폼에서 학습한 실행을 모델로 등록하거나, 외부에서 학습한 모델을 불러올 수 있습니다. 본 단계에서는 앞 단계에서 생성하고 학습 완료된 실행을 모델로 등록합니다.

아래 명령을 실행하여 앞에서 생성한 실행을 모델로 등록합니다.

코드예제모델 등록 Syntax

kiml model create \
--name {model-name} \
--experiment {experiment-name} \
--run {run-name} \
--path {model-path}

모델 등록 Parameters
파라미터 설명
{model-name} 원하는 모델 이름
{experiment-name} 앞에서 생성한 실험 이름
{run-name} 앞에서 생성한 실행 이름
{model-path} 모델이 저장된 outputs 하위 디렉터리
- 예제 코드의 경우 1 입력

Step 6. 등록된 모델 서빙하기

모델을 배포하기 위해서는 모델이 요청을 받을 엔드포인트를 생성하고, 이어서 엔드포인트에 배포를 생성해야 합니다.

엔드포인트 생성하기

  1. 아래 명령을 실행하면 엔드포인트를 생성합니다.

    코드예제엔드포인트 생성 Syntax

    kiml endpoint create --name {endpoint-name}
    

    엔드포인트 생성 Parameters
    파라미터 설명
    {endpoint-name} 원하는 엔드포인트 이름
  2. 아래 명령을 실행하면 생성한 엔드포인트의 정보를 조회할 수 있습니다.

    코드예제엔드포인트 정보 조회 Syntax

    kiml endpoint describe {endpoint-name}
    

    엔드포인트 정보 조회 Parameters
    파라미터 설명
    {endpoint-name} 원하는 엔드포인트 이름

배포 생성하기

아래 명령을 실행하여 배포를 생성합니다.

튜토리얼 Tip
--tfserving 옵션의 입력값은 코드에 맞게 입력해주면 배치 처리를 위한 config로 전달됩니다.
튜토리얼 진행을 위해서는 코드에 기입된 대로 입력하시기 바랍니다.

코드예제배포 생성 Syntax

km dp create {deployment-name} \
--endpoint {endpoint-name} \
--instance-type {instance-type-name} \
--num-replica {number-of-replica} \
--image cosmos-tfserving-2.5.4-gpu \
{port-number} \
--model {model-name} \
--tfserving maxBatchSize=128 \
--tfserving batchTimeOut=500000 \
--tfserving maxEnqueuedBatches=10 \
--tfserving numBatchThreads=2 \
--tfserving allowedBatchSizes=

배포 생성 Parameters
파라미터 설명
{deployment-name} 원하는 배포 이름
{endpoint-name} 앞에서 생성한 엔드포인트 이름
{instance-type-name} 배포를 생성할 인스턴스 타입
- 1V100-4-MO 입력
{number-of-replica} 생성할 인스턴스 개수
- 1 입력
{image-name} 배포 생성 시에 사용할 이미지 이름
- cosmos-tfserving-2.5.4-gpu 입력
{port-number} 생성된 배포에 접근할 수 있는 포트 번호
- 튜토리얼에서는 해당 없음
- 배포타입이 Custom Image인 경우만 입력
{model-name} 앞에서 생성한 모델 이름

배포한 모델 테스트하기

배포한 모델을 테스트하기를 원하는 경우, 테스트 방법은 아래와 같습니다.

  1. 아래 명령을 실행하여 엔드포인트 상세 정보를 조회한 후, 엔드포인트 URL과 API Key를 확인합니다.

    코드예제엔드포인트 상세 정보 조회 Syntax

    kiml endpoint describe {endpoint-name}
    

    엔드포인트 상세 정보 조회 Parameters
    파라미터 설명
    {endpoint-name} 생성한 엔드포인트 이름

    코드예제결과 화면 Sample Code

    * ID             | {endpoint-id}
    * Name           | {endpoint-name}
    * Deployments    | {deployment-name-1}, {deployment-name-2}
    * URL            | {endpoint-url}
    * API Key        | {api-key}
    * Description    |
    * Tags
    * Created At     | 2022-09-23T15:57:08+09:00
    

  2. 위 결과에서 확인한 {api-key}, {endpoint-url}을 기입하여, 터미널에서 아래의 테스트 코드를 실행합니다.

    코드예제테스트

    curl -X POST {endpoint_url}/v2/models/model/infer \
    -H "Authorization: Bearer {api-key}" \
    --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 {endpoint-url}/v2/models/model/infer

    테스트 코드 Parameters

    파라미터 설명
    {endpoint-url} 앞에서 조회한 엔드포인트 URL
    {api-key} 앞에서 조회한 엔드포인트 정보의 API Key

  3. 정상적으로 실행된다면 아래와 같이 응답합니다.

    코드예제정상 실행 응답 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]}]}%
    

이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.