---
# System prepended metadata

title: Fast AI API Note

---

# Fast AI API Note
## Status Message

### Image List Raw
```json=
"unlabeled":   "未標註"
"success":     "標註完成"
```
---
### Time Series Raw
```json=
"warning":     "警告(資料出現異常)"
"in progress": "處理中"    
"success":     "成功"
```
---
### Image、Time Series Split
``` json=
"in progress": "處理中"
"success":     "成功"
"failure":     "失敗"
```
---
### Time Series Feature Generate
```json=
"in progress": "處理中"
"terminated":  "中止"
"success":     "成功"
"failure":     "失敗"
```
---
### Image、Time Series Auto ML
```json=
"training":    "處理中"
"terminated":  "中止"
"success":     "成功"
"failure":     "失敗"
```
---
## Hyperparameters Set

### Time Series Gen Feature

#### Frontend to Backend
``` json=
{
    "filename": "split filename",
    "frequency": "second", // year, month, day, hour, minute, second
    "name": "feature filename",
    "description": "description",
    "method":[ //允許空陣列
        "Complexity",
        "CycleIndicators",
        "LogicalCondition",
        "MathFunction",
        "MomentumIndicators",
        "StatisticFeatures",
        "StatisticModels"
    ]
}
```
#### Backend to Ai Pipeline
```json=
// after refactory (NEW)
hyperparameter = {
    "COLUMN_ID": preprocess_info.col_id,
    "COLUMN_TIME": preprocess_info.col_time,
    "COLUMN_TARGET": preprocess_info.col_target,
    "COLUMN_TARGET_Y": preprocess_info.col_target_y,
    "PERIODS": preprocess_info.period,
    "FREQUENCY": "sec", // "sec", "min", "hour", "day", "month", "year" 資料頻率單位
    "TAT_USE_CATEGORY": method
}

// before refactory (OLD)
hyperparameter = {
    "COLUMN_ID": raw["column_id"], // 變動
    "COLUMN_TIME": raw["column_time"], // 變動
    "COLUMN_TARGET": preprocess["column_y"], // 變動
    "COLUMN_TARGET_Y": "column_target_y",  // 固定
    "PERIOD_LIST": preprocess["period"], // 變動
    "FG_WINDOW_SIZE_LIST": int(window_size),
    "RK_FEATURES": 840,  // 固定，產生的feature數量 Demo: 84、建議: 840 UP 
    "RK_USED_MODULE": "mini",  // 固定，套件使用的特徵演算法
    "TAT_USE_CATEGORY": method, // 變動
    "FN_METHOD": "minmax"  // 變動，資料標準化 
}
```

### Time Series Auto ML

#### Frontend to Backend
``` json=
{
    "name": "model_name",
    "filename": "(filename)", // 此頁選擇的feature file id
    "hyperparameter": {
        "MODE": "Demo", // Demo, Quick, Normal, Long
        "METRIC": "mae", // smape, accuracy
        "TASK_TYPE": "", // classification, regression
        "ALGORITHM": ["AutoML", "AutoDL"],
        "DR_METHODS": ["pca", "high_correlation", "tsne"]
    }
  }
```


#### Backend to Pipeline
```json=
// after refactory
hyperparameters = {
    "COLUMN_ID": preprocess.col_catrgory,
    "COLUMN_TIME": preprocess.col_time,
    "COLUMN_TARGET": preprocess.col_target,
    "COLUMN_TARGET_Y": "column_target_y", 
    // if y_case == predict: = y_parameter["predict"]
    "TRAINING_CONFIG": {
        "MODE": "Demo", // Demo, Quick, Normal, Long (單選)
        "METRIC": "SAMPE", // MAE, MSE, SMAPE, ACCURACY (單選)
        "TASK": "regression", // classification, regression (單選)
        "ALGORITHM": ["AutoML", "AutoDL"], //(複選)
        "PERIODS": preprocess.y_parameter["period"],
        // if y_case == predict: = None
        "DR_METHODS": ["pca", "high_correlation", "tsne"], // 複選
    }
}

// before refactory
hyperparameters = {
    "REPORT_PATH": "model",
    "COLUMN_ID": hyperparameter["COLUMN_ID"],
    "COLUMN_TIME": hyperparameter["COLUMN_TIME"],
    "COLUMN_TARGET": hyperparameter["COLUMN_TARGET"],
    "COLUMN_TARGET_Y": "column_target_y",
    "PERIOD_LIST": period,
    "AUTO_MODEL_CONFIG": {
        "MODE": hyperparameter["AUTO_MODEL_CONFIG"]["MODE"],
        "TRAIN_CLUSTER_METHOD": "AUTO",
        "DROP_ORIGINAL_FEATURE": True,
        "RETRAIN_SIZE": hyperparameter["AUTO_MODEL_CONFIG"]["RETRAIN_SIZE"],
        "AI_PIP_MAX_TRAIN_SIZE": 500,
        "AI_PIP_TRAIN_SCORING": hyperparameter["AUTO_MODEL_CONFIG"]["AI_PIP_TRAIN_SCORING"],
        "AI_PIP_TUNED_PARAMETERS": {
            "Auto_keras_tsf": {
                "tuner": "greedy",
                "max_trials": 10,
                "epochs": 1000
            },
            "Auto_sk_tsf": {
                "time_left_for_this_task": 7200,
                "per_run_time_limit": 1800,
                "ensemble_size": 25,
                "ensemble_nbest": 25,
                "n_jobs": 1,
                "resampling_strategy": "holdout",
                "resampling_strategy_arguments": {
                    "train_size": 0.9
                },
                "delete_tmp_folder_after_terminate": False,
                "dask_port": 30679
            }
        },
        "AI_PIP_ESTIMATOR_LIST": hyperparameter["AUTO_MODEL_CONFIG"]["AI_PIP_ESTIMATOR_LIST"],
        "DR_METHOD": hyperparameter["AUTO_MODEL_CONFIG"]["DR_METHOD"],
        "LOW_PREDICTABLE_PARAMETERS": {
            "method": "Croston_tsf",
            "scoring": "mae",
            "value_parameters": [
                ["naive", None],
                ["ma", 2],
                ["ma", 3],
                ["ma", "all"],
                ["ema", 1],
                ["ema", 3]
            ],
            "demand_interval_parameters": [
                ["naive", None],
                ["ma", 2],
                ["ma", 3],
                ["adi", None],
                ["ma", "all"],
                ["ema", 1],
                ["ema", 3]
            ]
        }
    }
}
```

### Image Auto ML
#### Frontend to Backened
```json=
{
  "name": "model_name",
  "filename": "(filename)", // 此頁選擇的split file id
  "hyperparameter": {} // 此頁沒有其他參數需要設定所以帶空物件
}
```

#### Backend to Ai Pipeline
```json=
hyperparameters = {
    "max_trails": 3
    "epochs": 10,
    "batch_size": 32,
    "image_size": 224}
```

## Role Set
### Super Admin
```python=
POST >>> "/account/logout"
POST >>> "/account/refresh"
POST >>> "/account/userinfo"


GET  >>> "/companys"              # 取得公司列表
POST >>> "/companys"              # 新增公司列表
PUT  >>> "/companys/{company_id}" # 編輯公司列表
PUT  >>> "/companys/{company_id}" # 編輯公司狀態
GET  >>> "/companys/users"        # 取得各公司底下員工列表 (Read Only)
GET  >>> "/companys/projects"     # 取得各公司底下專案列表 (Read Only)
```
---
### Company Admin
```python=
POST   >>> "/account/logout"
POST   >>> "/account/refresh"
POST   >>> "/account/userinfo"

GET    >>> "/companys/{company_id}/projects"                             # 取得所屬公司底下專案列表
POST   >>> "/companys/{company_id}/projects"                             # 新增所屬公司底下專案列表
PUT    >>> "/companys/{company_id}/projects/{project_id}"                # 編輯所屬公司底下專案列表 / 編輯所屬公司底下專案的成員
PUT    >>> "/companys/{company_id}/projects/{project_id}/status"         # 編輯所屬公司底下專案狀態

GET    >>> "/companys/{company_id}/users"                                # 取得所屬公司底下員工列表
POST   >>> "/companys/{company_id}/users"                                # 新增所屬公司底下員工列表
PUT    >>> "/companys/{company_id}/users/{user_id}/status"               # 編輯所屬公司底下員工狀態
GET    >>> "/companys/{company_id}/projects/{project_id}/users"          # 取得所屬公司底下專案的成員狀態

POST   >>> "/companys/{company_id}/projects/{project_id}/users/{user_id}" # 新增特定專案的成員列表
DELETE >>> "/companys/{company_id}/projects/{project_id}/users/{user_id}"# 移除特定專案的成員列表
```
### Porject Admin
```python=
POST   >>> "/companys/{company_id}/projects/{project_id}/users/{user_id}" # 新增特定專案的成員列表
DELETE >>> "/companys/{company_id}/projects/{project_id}/users/{user_id}"# 移除特定專案的成員列表

# Image Raw Data (List / Upload Raw / Upload Label / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_raw_upload"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_label_upload"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/descript"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete/{filename}"

# Image Split Data (List / Split / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete_split_data/{filename}"

# Image Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/model/train"

# Image Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_model_summary"

# Time Series Raw Data (List / Upload / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/file_upload"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete/{filename}"

# Time Series Split Data (List / Gen Y & Split / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_split_data/{filename}"

# Time Series Gen Feature (Feature Generate / Cancel / Download / Delete)
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/gen_feature"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/cancel_feature/{filename}"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_feature/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_feature/{filename}"

# Time Series Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"

# Time Series Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_model_summary"

# Data Refine (Status / Create / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"
POST   >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"
DELETE >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"

# Label Tool (Status / Create / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
POST   >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
DELETE >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
```
---
### Developer
```python=
## Image Raw Data (List / Upload Raw / Upload Label / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_raw_upload"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_label_upload"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/descript"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete/{filename}"

# Image Split Data (List / Split / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete_split_data/{filename}"

# Image Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/model/train"

# Image Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_model_summary"

# Time Series Raw Data (List / Upload / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/file_upload"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete/{filename}"

# Time Series Split Data (List / Gen Y & Split / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_split_data/{filename}"

# Time Series Gen Feature (Feature Generate / Cancel / Download / Delete)
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/gen_feature"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/cancel_feature/{filename}"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_feature/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_feature/{filename}"

# Time Series Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"

# Time Series Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_model_summary"

# Data Refine (Status / Create / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"
POST   >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"
DELETE >>> "/companys/{company_id}/projects/{project_id}/apps/DataRefine"
```
---
### Label Manager
```python=
## Image Raw Data (List / Upload Raw / Upload Label / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_raw_upload"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/file_label_upload"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/descript"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete/{filename}"

# Image Split Data (List / Split / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/image/delete_split_data/{filename}"

# Image Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/image/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/image/model/train"

# Image Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/image/get_model_summary"

# Time Series Raw Data (List / Upload / Download / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/file_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/file_upload"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete/{filename}"

# Time Series Split Data (List / Gen Y & Split / DownLoad / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_split_list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/split"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_split_data/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_split_data/{filename}"

# Time Series Gen Feature (Feature Generate / Cancel / Download / Delete)
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/gen_feature"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/cancel_feature/{filename}"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/download_feature/{filename}"
DELETE >>> "/companys/{company_id}/projects/{project_id}/time_series/delete_feature/{filename}"

# Time Series Auto ML (List / Execute / Abort)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/list"
POST   >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"
PUT    >>> "/companys/{company_id}/projects/{project_id}/time_series/model/train"

# Time Series Model Info (Loss Function / Test Report / Model Summary)
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_loss_function"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_test_report"
GET    >>> "/companys/{company_id}/projects/{project_id}/time_series/get_model_summary"

# Label Tool (Status / Create / Delete)
GET    >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
POST   >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
DELETE >>> "/companys/{company_id}/projects/{project_id}/apps/LabelTool"
```
---
### Role User
```python=
POST >>> "/account/logout"
POST >>> "/account/refresh"
POST >>> "/account/userinfo"

GET  >>> "/companys/{company_id}/get_project_list"
```

## Time Series Model Info

### Loss Function
```python=
{
  "1": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  },
  "2": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  },
  "3": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  },
  "4": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  },
  "5": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  },
  "6": {
    "loss": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "accuracy": [
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775,
      0.9991189427312775
    ],
    "val_loss": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "val_accuracy": [
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968,
      0.9979674796747968
    ],
    "score": 2664.3628754093165
  }
}
```

### Test Report
```python=
{
  "colum_id": {
    "0": "1",
    "1": "2",
    "2": "3",
    "3": "4",
    "4": "5",
    "5": "6"
  },
  "accuracy": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1,
    "5": 1
  },
  "precision": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1,
    "5": 1
  },
  "recall": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1,
    "5": 1
  },
  "f1_score": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1,
    "5": 1
  },
  "jaccard": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1,
    "5": 1
  },
  "log_loss": {
    "0": 9.992007221626413e-16,
    "1": 9.992007221626413e-16,
    "2": 9.992007221626413e-16,
    "3": 9.992007221626413e-16,
    "4": 9.992007221626413e-16,
    "5": 9.992007221626413e-16
  }
}
```

### Model Summary
```python=
"logs": {
  "preprocessing": [
    "extract win_size 10",
    "==> talib done.",
    "==> tafresh done.",
    "extract win_size 20",
    "==> talib done.",
    "==> tafresh done."
  ],
  "training": {
    "MATERIAL_A": [
      "start MATERIAL_A",
      "==> preprocessing done.",
      "==> AutoDL start",
      "...",
      "==> AutoML start",
      "...",
      "==> save model files done."
    ],
    "MATERIAL_B": [
      "start MATERIAL_B",
      "==> preprocessing done.",
      "==> AutoDL start",
      "...",
      "==> AutoML start",
      "...",
      "==> save model files done."
    ],
    "MATERIAL_C": [
      "start MATERIAL_C",
      "==> preprocessing done.",
      "==> AutoDL start",
      "...",
      "==> AutoML start",
      "...",
      "==> save model files done."
    ],
    "MATERIAL_D": [
      "start MATERIAL_D",
      "==> preprocessing done.",
      "==> AutoDL start",
      "...",
      "==> AutoML start",
      "...",
      "==> save model files done."
    ]
  }
}

"summary": {
  "MATERIAL_A": [
    "-------",
    "layer 1: cnn ...",
    "layer 2: rnn ...",
    "-------"
  ],
  "MATERIAL_B": [
    "-------",
    "layer 1: cnn ...",
    "layer 2: rnn ...",
    "-------"
  ],
  "MATERIAL_C": [
    "-------",
    "layer 1: cnn ...",
    "layer 2: rnn ...",
    "-------"
  ]
}
```