Skip to content

Commit

Permalink
dataApi 리스트 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
Tnks2U committed May 2, 2024
1 parent 5c3add5 commit c7f89a9
Showing 1 changed file with 214 additions and 3 deletions.
217 changes: 214 additions & 3 deletions source/entryjs/api/2024-04-24-ml.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ updated: 2024-04-24
<br>

- [dataApi](#dataApi)
- [Api 함수 리스트](#Api-함수-리스트)

<br>

Expand Down Expand Up @@ -259,7 +260,7 @@ this.learningPopup = new Popup({
| --------- | -------------- | ------ | ------------------------------------------ | ------------------------------------------------------------ |
| container | HTMLDivElement | ✔️ | <code>document.createElement('div')</code> | 팝업을 띄울 DOM 컨테이너 |
| isShow | Boolean | ✔️ | true | 팝업 생성시 노출여부 |
| dataApi | String | | | 데이터를 받아오기 위한 api url입니다. <br />자세한 내용은 [dataApi](#dataApi)에서 기술합니다. |
| dataApi | Class | | | 학습 데이터를 관리하기 위한 api 클래스 입니다. <br />자세한 내용은 [dataApi](#dataApi)에서 기술합니다. |
| i18n | Object | | | 다국어 정보입니다. [다국어 에셋(i18n)](#다국어-에셋(i18n))에서 데이터를 제공합니다. |
| data | Object | ✔️ | { } | 팝업에 띄울 여러 데이터(ex. 테이블 정보) |

Expand Down Expand Up @@ -697,10 +698,217 @@ this.learningPredict.on('stop', () = > {
<br>
## dataApi
## dataApi > 작성중
- 작성중
entry-ml은 Popup 인스턴스를 초기화할 때 dataApi 값을 설정해야 합니다.
dataApi는 학습 데이터를 관리하기 위한 api들을 포함하는 클래스입니다.
각 클래스의 구현내용은 [entry-ml > dataApi]()(링크 추가 작성중) 에서 확인 가능합니다.
```js
this.dataApi = new EntryMlDataApi();
Entry.aiLearning.setDataApi(this.dataApi);
```
<br>
### Api 함수 리스트
#### getModelSaveUrl
저장할 api의 url을 반환합니다.
tensorflow JS를 사용하는 타입인 'Image', 'Speech', 'ImageClassification', 'LogisticRegression', 'Regression', 'SpeechClassification' 에서 사용합니다.
- return : string
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ---- |
| modelId | String | | | |
<br >
#### getModelDownloadUrl
모델이 저장된 위치의 url을 반환합니다.
실제 모델 파일이 저장된 위치를 의미합니다.
- return : string
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ---- |
| basePath | String | | | |
<br >
#### loadModel
'학습할 모델 선택하기' > '모델 학습하기' 에서 불러올 본 모델 데이터를 로드합니다.
'saveModel' api 함수로 저장한 데이터를 로드합니다.
- return : Promise< any >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| ------------------------------------------------------------ | ---- | ------ | ------ | ---- |
| {<br /> model?: File;<br /> weight?: File;<br /> url?: string; <br /> modelId?: string; <br />} | | | | |
<br >
#### loadModels
'학습할 모델 선택하기' 팝업에서 필요한 모델 메타데이터들을 로드합니다.
'saveModels' api 함수로 저장한 데이터들을 로드합니다.
- return : Promise<Array< IUploadModel >>
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ---- |
| project | string | ✔️ | | |
<br >
#### saveModel
tensorflow JS를 사용하지 않는 모델을 저장합니다.
- return : Promise< [IUploadModel]()링크작성중 >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | --------------------------- | ------ | ------ | ---- |
| modelId | string | | | |
| project | [IUploadModel]()링크 작성중 | | | |
<br >
#### saveModelFile
tensorflow JS를 사용하는 모델을 저장합니다.
파라미터로 넘겨준 url로 모델파일을 stream 형태로 저장합니다.
```js
// 압축해제 관련 예시 코드
```
return : Promise< string >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | -------- | ------ | ------ | ---- |
| url | string | | | |
| formData | FormData | | | |
<br >
#### deleteModel
파라미터로 입력받은 id의 모델을 제거합니다.
- return : Promise< void >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | --------------------- |
| modelId | string | | | 제거할 모델 id입니다. |
<br >
#### copyModel
파라미터로 입력받은 id의 모델을 복사합니다.
- return : Promise< void >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | --------------------- |
| modelId | string | | | 복사할 모델 id입니다. |
<br >
#### downloadModel
파라미터로 입력받은 id의 모델을 다운로드 합니다.
- return : Promise< void >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ------------------------- |
| modelId | string | | | 다운로드할 모델 id입니다. |
<br >
#### uploadModel
- return : Promise< [IUploadModel]()링크작성중 >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | -------- | ------ | ------ | ---- |
| data | FormData | | | |
<br >
#### getGroupData
이미 한 번 이상 학습하여 저장된 데이터 데이터 모델을 가져오는 api입니다.
'학습할 모델 선택하기' 팝업의 '나의 모델' 탭에서 필요한 모델 그룹을 호출합니다.
- return : Promise< [IGroupData]()링크 작성중 >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ---- |
| modelId | string | | | |
| groupId | string | | | |
<br >
#### saveData
'speech', 'image' 타입의 모델처럼, '테이블' 이외에 '모델 학습하기'에서 생성한 입력 데이터를 단건으로 서버에 저장합니다.
- return : Promise<{ data:any }>
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ---------------------- | ------ | ------ | ---- |
| data | [apiData]()링크 작성중 | | | |
<br >
#### deleteData
'speech', 'image' 타입의 모델처럼, '테이블' 이외에 '모델 학습하기'에서 생성한 입력 데이터를 단건으로 제거합니다.
- return : Promise< void >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------ | ------ | ------ | ---- |
| key | string | | | |
<br >
#### getImageFile
- return : Promise< File >
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------------------------------------------------------------ | ------ | ------ | ---- |
| data | { <br /> filename:string;<br /> _id: string; <br /> data: string; <br />} | | | |
<br >
#### getSoundData
- return : Promise<{url:string;} | {dataUrl: string, buffer: ArrayBuffer}>
| 파라미터 | 타입 | 선택적 | 기본값 | 설명 |
| -------- | ------------------------------------------------------------ | ------ | ------ | ---- |
| data | { <br /> filename:string;<br /> _id: string; <br /> data: string; <br />} | | | |
<br >
<br >
Expand Down Expand Up @@ -938,3 +1146,6 @@ this.learningPredict.on('stop', () = > {
"remove_current_model_fail": "작품에 적용된 모델은 삭제할 수 없습니다.\n먼저 적용을 해제해 주세요"
}
```

0 comments on commit c7f89a9

Please sign in to comment.