Write UI Parameter
experimental_plan.yaml 파일에는 추후 EdgeConductor UI에서 사용자가 수정 가능한 파라미터를 설정가능합니다. 이는 AI Solution 개발자가 해당 프로젝트에 필요한 핵심 파라미터를 미리 결정하고 AI Solution 사용자가 변경 할 수 있는 파라미터를 명확하게 지정할 수 있게 하기 위함입니다.
이렇게 설정 파일을 통하여 사용자는 필요한 파라미터 값 만을 입력하거나 선택함으로써 손 쉽게 모델을 조정하고 실험할 수 있습니다.
experimental_plan.yaml는 지원하는 UI 파라미터 유형을 Float, Integer, String, Single Selection 및 Multi Selection 같은 몇 개의 타입으로 한정해서 제공하는데, 이는 AI Solution의 사용의 편의성을 향상 시키고 오류 가능성을 줄이며, 사용자가 실수로 중요 파라미터를 잘못 설정하는 것을 방지하기 위함입니다.
AI 모델이 AI Solution의 개발 환경에서 충분히 실험을 거쳐 성능이 검증되고 나면, register-ai-solution.ipynb 쥬피터 노트북을 활용하여 AI Solution을 Mellerikat 플랫폼에 등록하여 운영 단으로 바로 배포 할 수 있습니다. 이때 AI Solution 개발자가 설정해 놓은 UI 파라미터 또한 EdgeConductor UI에 자동으로 반영되어 사용자에게 보여집니다.
Topics
UI Parameter 선언
Edge Conductor에서 UI로 제공하는 Parameter를 experimental_plan.yaml에 작성합니다. 먼저 UI로 보여줄 항목은 user_parameters에서 선정하여 ui_args에 parameter 이름을 작성합니다.
#experimental_plan.yaml
user_parameters:
- train_pipeline:
- step: input
args:
- input_path: train
x_columns: [input_x0, input_x1, input_x2, input_x3]
y_column: label
ui_args:
- x_columns
- y_column
ui_args에 기술한 parameter들은 experimental_plan.yaml의 ui_args_detail 부분에 상세 정보를 작성합니다.
UI Parameter 상세 기술
#experimental_plan.yaml
ui_args_detail:
- train_pipeline:
- step: input
args:
- name: x_columns
description: TCR 모델링에 사용될 x columns를 ','로 구분하여 기입합니다. ex) x_column1, x_column2
type: string
default: ''
range:
- 1
- 1000000
- name: y_column
description: TCR 모델링에 사용될 y column명을 기입합니다. ex) y_column
type: string
default: ''
range:
- 1
- 1000000
UI args의 type으로 float, int, string (혹은 string 형태의 list), single_selection, multi_selection 타입 중 선택이 가능하며 ui_args_detail에는 각 type에서 요구하는 내용을 작성합니다.
Note: 각 AI Contents 매뉴얼 페이지에 UI Parameter로 제공 가능한 리스트와 상세 정보가 작성되어 있어 활용할 수 있습니다.
-
float 또는 int
- type 에 int, float 을 지원 합니다.
- range는 이상, 이하로 값의 min, max 범위를 의미 합니다.
- name: float_param
description: this is param to input float
type: float
default:
- 0.5
range:
- 0.0
- 1.0 -
string
- string 값을 입력해야 할 경우 사용.
- range는 글자 수 제한을 의미합니다.
- name: string_param
description: this is param to input string
type: string
default:
- "hello"
range:
- 5
- 100-
list를 지원하고 싶으면 string type으로 대체하여 사용
- 사용자가 UI에서 string type 파라미터에 comma (", ") 로 구분하여 여러 value를 입력할 경우, split 되어 list 화 된 value가 AI Conductor 상에서의 학습 시 전달 됩니다. (ex: "value1, value2, value3" --> ["value1", "value2", "value3"])
- Warning : EdgeConductor UI에서 사용자가 string type 파라미터에 1, 2, 3으로 기입했다면 기입한 값들은 ["1", "2", "3"]로 ALO에 전달됩니다. 즉, 해당 리스트 내의 값이 string이 아닌 integer여야 한다면, type 변환에 대한 코드가 Asset 내부에 작성되어 있어야 합니다.
- name: string_param
description: this is param to input string
type: string
default:
- "x1, x2, x3,"
range:
- 5
- 100
-
single_selection
- selectable한 값들 중에 하나를 선택해야 하는 경우에 사용.
- name: single_selection_param
description: this is param to input single selection
type: single_selection
selectable:
- option1
- option2
- option4
default:
- option1 -
multi_selection
- selectable한 값들 중에 복수 개 선택해야 하는 경우에 사용
- name: multi_selection_param
description: this is param to input multi selection
type: multi_selection
selectable:
- option1
- option2
- option3
default:
- option1
- option3