TensorMSA Guide – Define Neural Network

Set Up Master Configurations

모델관리 구조

TensorMSA 에서는 딥러닝 및 머신러닝의 훈련 및 서비스를 위한 데이터 및 모델을 위와 같은 구조로 관리하여 최종적으로 서비스까지 연결하고 있다. 구축하고자 하는 대상자체를 정의 – 파이프라인의 구성 및 하이퍼 파라메터 – 훈련에 따른 배치 단위 모델과 같은 구조로 관리하여 사용자가 원하는 버전을 활성화하여 서비스 할 수 있다.

등록된 신경망 리스트 확인 API

import requests
import json, os

url = "{0}:{1}".format(os.environ['HOSTNAME'] , "8000")

resp = requests.get('http://' + url + '/api/v1/type/common/target/nninfo/nnid/%/' )
data = json.loads(resp.json())
return_list = []
for row in data :
    return_list.append(row['nn_id'])
print (return_list)

현재 시스템이 등록되어 있는 딥러닝, 머신러닝 서비스 리스트를 조회할 수 있다. 조회는 자신이 권한을 가지고 있는 대상만 조회 가능하며, TensorMSA 에서 제공하는 화면을 사용할 경우 더 편하게 데이터를 조회 할 수 있다.

새로운 신경망의 정의

resp = requests.post('http://' + url + '/api/v1/type/common/target/nninfo/nnid/nn00016/',
                     json={
                         "nn_id": "nn00016",
                         "biz_cate": "Category",
                         "biz_sub_cate": "Sub Category",
                         "nn_title" : "Title",
                         "nn_desc": "Description for neural network",
                         "use_flag" : "Y",
                         "dir": "type of model",
                         "config": "status flag (1,2,3) not necessary"
                     })
data = json.loads(resp.json())
print("evaluation result : {0}".format(data))

우리의 프레임웍에서 신경망의 정의라함은, 비지니스 레벨에서의 정의를 의미한다. 아이디의 경우 입력하지 않으면 랜덤 번호가 발번되며, 향후 모든 프로세스 및 서비스는 해당 아이디를 기준으로 발생하게 된다. 나머지 정보의 경우 카테고리, 서브카테고리, 제목, 설명등의 정보를 위한 항목과 서비스 여부, 사용 알고리즘, 상태값 등을 나타낸다. 이러한 생성행위는 당연히 UI/UX 통해서 제공이 되지만, 경우에 따라 서버간의 연동을 통해 자동적인 생성이 필요한 경우라면 권한을 부여 받아 해당 API를 사용할 수도 있다.

등록된 정보 확인

resp = requests.get('http://' + url + '/api/v1/type/common/target/nninfo/nnid/nn00016/')
data = json.loads(resp.json())
print("evaluation result : {0}".format(data))

위에서 등록한 정보를 위의 API 를 통해서 확인 할 수 있다.

버전 등록

resp = requests.post('http://' + url + '/api/v1/type/common/target/nninfo/nnid/nn00016/version/',
                     json={
                         "nn_def_list_info_nn_id": "",
                         "nn_wf_ver_info": "test version info",
                         "condition": "1",
                         "active_flag": "Y"
                     })
data = json.loads(resp.json())
print("evaluation result : {0}".format(data))

AutoML 을 사용하는 경우 버전 등록 과정부터 전체 과정이 자동으로 실행되기 때문에 별도의 조작이 필요 없지만, 단일로 훈련을 진행하기 원하는 경우 위와 같은 API 를 통해서 특정 버전을 강제로 생성하고 훈련을 진행할 수 있다.

 

Leave a Reply

Your email address will not be published. Required fields are marked *