From c7f89a98661f3bcf9b2cc6f0833cadcd2021a23e Mon Sep 17 00:00:00 2001 From: Tnks2U Date: Thu, 2 May 2024 17:07:37 +0900 Subject: [PATCH] =?UTF-8?q?dataApi=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/entryjs/api/2024-04-24-ml.md | 217 +++++++++++++++++++++++++++- 1 file changed, 214 insertions(+), 3 deletions(-) diff --git a/source/entryjs/api/2024-04-24-ml.md b/source/entryjs/api/2024-04-24-ml.md index b98e08f2..c89c4f2d 100644 --- a/source/entryjs/api/2024-04-24-ml.md +++ b/source/entryjs/api/2024-04-24-ml.md @@ -51,6 +51,7 @@ updated: 2024-04-24
- [dataApi](#dataApi) + - [Api 함수 리스트](#Api-함수-리스트)
@@ -259,7 +260,7 @@ this.learningPopup = new Popup({ | --------- | -------------- | ------ | ------------------------------------------ | ------------------------------------------------------------ | | container | HTMLDivElement | ✔️ | document.createElement('div') | 팝업을 띄울 DOM 컨테이너 | | isShow | Boolean | ✔️ | true | 팝업 생성시 노출여부 | -| dataApi | String | | | 데이터를 받아오기 위한 api url입니다.
자세한 내용은 [dataApi](#dataApi)에서 기술합니다. | +| dataApi | Class | | | 학습 데이터를 관리하기 위한 api 클래스 입니다.
자세한 내용은 [dataApi](#dataApi)에서 기술합니다. | | i18n | Object | | | 다국어 정보입니다. [다국어 에셋(i18n)](#다국어-에셋(i18n))에서 데이터를 제공합니다. | | data | Object | ✔️ | { } | 팝업에 띄울 여러 데이터(ex. 테이블 정보) | @@ -697,10 +698,217 @@ this.learningPredict.on('stop', () = > {
-## dataApi +## dataApi > 작성중 -- 작성중 +entry-ml은 Popup 인스턴스를 초기화할 때 dataApi 값을 설정해야 합니다. +dataApi는 학습 데이터를 관리하기 위한 api들을 포함하는 클래스입니다. + +각 클래스의 구현내용은 [entry-ml > dataApi]()(링크 추가 작성중) 에서 확인 가능합니다. + +```js +this.dataApi = new EntryMlDataApi(); +Entry.aiLearning.setDataApi(this.dataApi); +``` + +
+ +### Api 함수 리스트 + +#### getModelSaveUrl + +저장할 api의 url을 반환합니다. + +tensorflow JS를 사용하는 타입인 'Image', 'Speech', 'ImageClassification', 'LogisticRegression', 'Regression', 'SpeechClassification' 에서 사용합니다. + +- return : string + + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ---- | +| modelId | String | | | | + +
+ +#### getModelDownloadUrl + +모델이 저장된 위치의 url을 반환합니다. + +실제 모델 파일이 저장된 위치를 의미합니다. + +- return : string + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ---- | +| basePath | String | | | | + +
+ +#### loadModel + +'학습할 모델 선택하기' > '모델 학습하기' 에서 불러올 본 모델 데이터를 로드합니다. + +'saveModel' api 함수로 저장한 데이터를 로드합니다. + +- return : Promise< any > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| ------------------------------------------------------------ | ---- | ------ | ------ | ---- | +| {
model?: File;
weight?: File;
url?: string;
modelId?: string;
} | | | | | + +
+ +#### loadModels + +'학습할 모델 선택하기' 팝업에서 필요한 모델 메타데이터들을 로드합니다. + +'saveModels' api 함수로 저장한 데이터들을 로드합니다. + +- return : Promise> + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ---- | +| project | string | ✔️ | | | + +
+ +#### saveModel + +tensorflow JS를 사용하지 않는 모델을 저장합니다. + +- return : Promise< [IUploadModel]()링크작성중 > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | --------------------------- | ------ | ------ | ---- | +| modelId | string | | | | +| project | [IUploadModel]()링크 작성중 | | | | + +
+ +#### saveModelFile + +tensorflow JS를 사용하는 모델을 저장합니다. + +파라미터로 넘겨준 url로 모델파일을 stream 형태로 저장합니다. + +```js +// 압축해제 관련 예시 코드 +``` + +return : Promise< string > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | -------- | ------ | ------ | ---- | +| url | string | | | | +| formData | FormData | | | | + +
+ +#### deleteModel + +파라미터로 입력받은 id의 모델을 제거합니다. + +- return : Promise< void > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | --------------------- | +| modelId | string | | | 제거할 모델 id입니다. | + +
+ +#### copyModel + +파라미터로 입력받은 id의 모델을 복사합니다. + +- return : Promise< void > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | --------------------- | +| modelId | string | | | 복사할 모델 id입니다. | + +
+ +#### downloadModel + +파라미터로 입력받은 id의 모델을 다운로드 합니다. + +- return : Promise< void > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ------------------------- | +| modelId | string | | | 다운로드할 모델 id입니다. | + +
+ +#### uploadModel + +- return : Promise< [IUploadModel]()링크작성중 > + + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | -------- | ------ | ------ | ---- | +| data | FormData | | | | + +
+ +#### getGroupData + +이미 한 번 이상 학습하여 저장된 데이터 데이터 모델을 가져오는 api입니다. + +'학습할 모델 선택하기' 팝업의 '나의 모델' 탭에서 필요한 모델 그룹을 호출합니다. + +- return : Promise< [IGroupData]()링크 작성중 > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ---- | +| modelId | string | | | | +| groupId | string | | | | + +
+ +#### saveData + +'speech', 'image' 타입의 모델처럼, '테이블' 이외에 '모델 학습하기'에서 생성한 입력 데이터를 단건으로 서버에 저장합니다. + +- return : Promise<{ data:any }> + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ---------------------- | ------ | ------ | ---- | +| data | [apiData]()링크 작성중 | | | | + +
+ +#### deleteData + +'speech', 'image' 타입의 모델처럼, '테이블' 이외에 '모델 학습하기'에서 생성한 입력 데이터를 단건으로 제거합니다. + +- return : Promise< void > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------ | ------ | ------ | ---- | +| key | string | | | | + +
+ +#### getImageFile + +- return : Promise< File > + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------------------------------------------------------------ | ------ | ------ | ---- | +| data | {
filename:string;
_id: string;
data: string;
} | | | | + +
+ +#### getSoundData + +- return : Promise<{url:string;} | {dataUrl: string, buffer: ArrayBuffer}> + +| 파라미터 | 타입 | 선택적 | 기본값 | 설명 | +| -------- | ------------------------------------------------------------ | ------ | ------ | ---- | +| data | {
filename:string;
_id: string;
data: string;
} | | | | + +

@@ -938,3 +1146,6 @@ this.learningPredict.on('stop', () = > { "remove_current_model_fail": "작품에 적용된 모델은 삭제할 수 없습니다.\n먼저 적용을 해제해 주세요" } ``` + + +