2788 views
--- title: AI Maker description: OneAI 文件 tags: AI Maker, --- [OneAI 文件](/s/xKNcU3O5D) # AI Maker :::warning :warning: **注意:** 因系統或服務更新,此文件已不再維護,新版文件或類似的使用案例,請參考 [**AI Maker**](/s/ai-maker)。 ::: AI Maker 是一套建立和管理機器學習生命週期的 MLOps 解決方案,從 OneAI 服務列表選擇「**AI Maker**」即可進入 AI Maker 首頁。 :::info :bulb:**提示:** **使用建議** * AI Maker 為各類 AI 應用提供許多現成的 **範本** 及 [**案例教學文件**](/s/xKNcU3O5D#案例教學),方便您快速套用。對於初次使用 AI Maker 的人,建議您先從有興趣的 [**案例教學**](/s/xKNcU3O5D#案例教學) 上手,體驗 AI Maker 各項服務的使用流程。 * 對於 AI 開發人員或是想要在 AI Maker 上執行自己的機器學習開發環境及訓練、推論程式的人,建議您在練習過 [**案例教學**](/s/xKNcU3O5D#案例教學) 後,再參考本文件,使用 AI Maker 開發管理機器學習生命週期。 ::: ## 預備工作 對於想要在 AI Maker 上執行自己的機器學習開發環境及訓練、推論程式的人,請依照本章節進行這些預備工作。 ### 1. 準備訓練資料 * 在開始使用 AI Maker 前,請先準備好訓練用的資料集,並上傳至系統所提供的儲存服務。上傳訓練資料,請參閱 **[儲存服務文件](/s/_F4C_EzEa)**。 ### 2. 修改訓練任務程式碼 在 AI Maker 上執行機器學習的訓練任務,請依下列步驟修改程式碼。 #### 2.1 設定訓練資料來源 * 根據您的訓練資料存放位置設定訓練資料集輸入來源的環境變數,例如: ```= INPUT = '訓練資料存放路徑' ... DATASET_PATH = str(os.environ.get('INPUT') + '/dataset') ``` #### 2.2 設定模型輸出位置 * 設定模型輸出位置的環境變數,例如: ```= OUTPUT='模型存放路徑' ... MODEL_PATH = str(os.environ.get('OUTPUT')) ``` #### 2.3 設定超參數 * 設定可調整的超參數,例如:`BATCH_SIZE`、`LEARNING_RATE`。 ```= # Example for hyper parameter variables BATCH_SIZE = int(os.environ.get('BATCH_SIZE', 8)) LEARNING_RATE = float(os.environ.get('LEARNING_RATE', 0.00001)) ``` #### 2.4 將結果傳回 AI Maker * 在 **訓練任務** 的程式中加入以下的程式碼,將訓練結果傳回至 AI Maker。 ```= import AIMaker as ai // your code ai.sendUpdateRequest({result}) ``` :::info :bulb:**提示:** * {result} 代表欲傳回 AI Maker 的訓練結果,例如 error_rate、 accuracy,AI Maker 只接受一組回傳值。 * {result} 的型態必須為 int 或 float ( Numpy 型態之 int,float 不可接受)。 ::: ### 3. 修改推論程式碼 * 在 AI Maker 上執行推論服務,請依下列步驟修改程式碼。 #### 3.1 設定模型位置 * 您可以將由訓練任務取得的模型儲存至 AI Maker 的模型儲存庫中,或上傳現有的模型,再於推論程式中讀取模型位置的環境變數,例如: ```= OUTPUT='模型存放路徑' ... MODEL_PATH = str(os.environ.get('OUTPUT')) ``` #### 3.2 將推論結果傳回 AI Maker * 透過 AI Maker 提供的 **AIMakerMonitor** 套件可以將推論結果傳回 AI Maker,並在 AI Maker 推論服務中以視覺化的圖表呈現模型調用的次數與結果。以下說明 **AIMakerMonitor** 套件中三個函數的用法: 1. **記錄 API 被使用的次數** - **monitor.api_count_inc()**,每呼叫這個函數一次,就會在統計表中增加一次呼叫紀錄。 ```= import AIMakerMonitor as monitor // your code monitor.api_count_inc() ``` 2. **資料類別為標籤的資料** - **monitor.counter_inc(欲監控資料的名稱, 標籤名稱)**,此函數可用於統計分類的問題,可以統計每個標籤出現的次數,以了解資料的分佈狀況。例如影像分類應用中辨識出車子的次數統計。<br> - **欲監控資料的名稱**:表示紀錄的表格名稱,型態為 string。 - **標籤名稱**:表示出現的標籤名稱,型態為 string。<br> 下面的範例表示在 `object_detect` 這個表格中,`car` 這個標籤的出現次數增加 1 次。 ```= import AIMakerMonitor as monitor // your code monitor.counter_inc("object_detect", "car") ``` 3. **統計數值類的資料** - **monitor.gauge_set(欲監控資料的名稱, 標籤名稱, 數值)**,此函數可用於統計數值的問題,例如每次辨識的信心指數。 - **欲監控資料的名稱**:紀錄的表格名稱,型態為 string。 - **標籤名稱**:出現的標籤名稱,型態為 string。 - **數值**:出現的標籤名稱,型態為 int 或 float。<br> 下面的範例表示在 `confidence` 這個表格中,辨識出 `car` 這個標籤時的信心度。 ```= import AIMakerMonitor as monitor // your code monitor.gauge_set("confidence", "car", 90) ``` :::info :bulb: **提示:** 以上程式範例皆針對 Python 語言撰寫,若不是使用 Python 開發,請依照實際狀況調整。 ::: ### 4. 準備映像檔 AI Maker 的執行訓練任務或推論任務時會以映像檔方式運行,因此您必須將開發環境與 AI Maker 所需的套件打包成映像檔並上傳至 [**容器映像檔**](/s/WAoPe4Au5) 服務。 :::info :bulb: **提示:** **使用公用映像檔** 您可以自行準備映像檔或是使用系統提供的 [**公用映像檔**](/s/TmlWGJUy-),本系統提供多種 AI 運算適用的最佳化容器映像檔,多樣化的 AI 訓練框架,並預載 AI Maker 所需的額外套件,可快速部署工作環境,提高工作效率! ::: * 建立及上傳映像檔 * AI Maker 所需的額外套件 - [AIMaker](https://pypi.org/project/AIMaker/) - [AIMakerMonitor](https://pypi.org/project/AIMakerMonitor/) - [requests](https://pypi.org/project/requests/) * 修改 Dockerfile:以下為 Dockerfile 範例,請依開發環境需求自行修改。 ```= # Dockerfile example # Specify a parent image FROM tensorflow/tensorflow:1.11.0-gpu ... # Install AI Maker required packages RUN pip install AIMaker requests AIMakerMonitor ... # Specify command to run within the container CMD python $INPUT/app.py ... ``` :::info :bulb: **提示:** 上傳映像檔說明請參見 [**容器映像檔**](/s/WAoPe4Au5)。 ::: ## 開始使用 進入 AI Maker 服務主頁後,即可看到 AI Maker 中提供的各種的相關服務,這些工具可任意搭配使用。 ![](/uploads/upload_fe8a922d5e3b8da5b5b9ef0a68f51bc6.png) 以下將說明各項服務的設定,若想快速瞭解這些功能的實際應用,建議可依 [**AI Maker 案例教學 - YOLOv4 影像辨識應用**](/s/JyKyKQe1c) 的步驟進行實作。 * [**標註工具**](#標註工具):使用內建的標註工具來標註您的訓練資料。 * [**範本**](#範本):為機器學習訓練環境和工作流程設定範本。 * [**訓練任務**](#訓練任務):執行一般訓練任務或透過 Smart ML 訓練任務的自動化調整超參數來調整您的模型。 * [**模型**](#模型):模型之目錄及版本控管。 * [**推論**](#推論):用訓練好的模型執行推論。 * [**筆記本服務**](/s/Z8LdmjL9M):提供機器學習的整合開發環境(IDE)。 ## 標註工具 AI Maker 內建 CVAT(Computer Vision Annotation Tool)標註工具,幫助您快速標註機器學習的訓練資料,或是將訓練好的模型透過推論服務與 CVAT 連結,進行自動標註。 ### 啟用 CVAT * 點選左側功能列之「**標註工具**」,進入 CVAT 服務首頁。第一次使用需先點擊「**啟用 CVAT 服務**」,每個專案只能開啟一套 CVAT 服務。 ![](/uploads/upload_8d4d6fd904bf4de193212fc71c56e0c7.png) * CVAT 啟用成功後,會出現 CVAT 服務的連結及預設的帳號及密碼,此時狀態為 **`running`**。點擊基本資訊之「**開啟**」,可在瀏覽器的新視窗中開啟 CVAT 服務的登入頁面。 :::info :bulb: **提示:** 首次啟用 CVAT 建議更改預設的密碼,此密碼沒有期限設定,相同專案之成員,皆可使用此密碼登入 CVAT 服務,為安全考量,請定期更改密碼。 ::: ![](/uploads/upload_50d0d058b0fdc1bfa9d2e02becd824d2.png) * 輸入基本資訊中所提供的帳號及密碼。 ![](/uploads/upload_00b540746d0ee7e44a7e7a981064973b.png) :::warning :warning: **注意:** 請使用 Google Chrome 瀏覽器登入 CVAT,若使用其他瀏覽器可能會造成不可預期的問題,例如:無法登入或無法成功標註之類的問題。 ::: :::info :bulb: **提示:** 更多 CVAT 建立標註任務說明請參考: [**AI Maker 案例教學 - YOLOv4 影像辨識應用 > 使用 CVAT 建立標註任務**](/s/JyKyKQe1c#2-標註資料)。 ::: ### 新增標註任務 * 成功登入 CVAT 服務頁面後,點擊「**+**」接著點選「**+ Create a new task**」建立標註任務。 ![](/uploads/upload_f7f51a9f82cb80348f80cb68eafdc8c6.png) * 接著設定任務名稱、標籤及選擇欲標註的檔案,建議可先將資料集上傳至儲存服務中,就可在 CVAT 服務中選取該儲存體,設定完成後,點選「**Submit**」。 :::warning :warning: **注意:CVAT 檔案大小限制** 在 CVAT 服務中,建議您的資料集來源使用儲存服務的儲存體。若您的資料集來源是使用本機端上傳資料,則 CVAT 服務限制每個 TASK 的檔案限制大小為 1 GB。 ::: ![](/uploads/upload_cfd42946e844859ef90bd6355ab2727b.png) * 標註任務建立後會出現在「**Tasks**」列表的最上方,點擊 「**Open**」進入任務的詳細資訊頁面。 ![](/uploads/upload_2ee6460beac2ab47bd83f068b38b5d5d.png) * 點擊 Job #id,進入資料標註頁面後即可開始進行標註。 ![](/uploads/upload_f29481c8caf377ded9b1c663de652055.png) * 將滑鼠移至左側工具列的矩形標註工具「**Draw new rectangle**」,選取「**Label**」選單的標籤後再點擊「**Shape**」,接著在圖片上框出目標物件。 ![](/uploads/upload_f492ea7e50e66769736ac76353724625.png) * 標註完成後,點擊上方「**Save**」,即可儲存標註結果。 ![](/uploads/upload_cc21e8bc01434b8ef1b446fb7341f93e.png) :::warning :warning: **注意:** 在標註過程中保持隨時存檔的好習慣,以免因不可抗力之因素,造成做白工。 ::: :::info :bulb:**提示:** * 更多 CVAT 的資訊請參考 **https://github.com/opencv/cvat**。 * CVAT 的 使用文件請參考 **https://opencv.github.io/cvat/docs/manual/**。 ::: ### 滙出標註資料 * 標註任務完成後,可將標註好資料滙出至儲存服務中,再於 AI Maker 中進行機器學習模型的訓練。 * 回到「**Tasks**」頁面,點擊欲下載 Task 右側的「**Actions**」再點選「**Export task dataset**」。 ![](/uploads/upload_e25b7e45c6be56c87caa87356bf2451c.png) * 出現 **Export task as a dataset** 視窗後,選取欲滙出的資料格式及儲存體,再點擊「**OK**」。 ![](/uploads/upload_6a678187b676ab22dd4b073e535a5271.png) ### 滙入標註資料 * 如果您已經有標註好資料,可參照 [**CVAT 支援的標註資料格式**](https://opencv.github.io/cvat/docs/manual/advanced/formats/) 準備欲滙入的標註資料檔案。 * 在標註任務頁面,將滑鼠移動到右上方的「**Actions**」選單,接著點選「**Upload annotations**」,再選取標註資料的格式。 ![](/uploads/upload_4351c0241e8ea46f7278d4a803737238.png) * 接著選取欲滙入的標註資料檔案。 ![](/uploads/upload_523f20fb8569cf61532003ee176effb7.png) * 滙入的標註資料將覆蓋掉目前的標註結果,確認後點擊「**Update**」。 ![](/uploads/upload_2706526c8fa2b4fce60673e93b677fcd.png) * 滙入完成後點擊 Job,進入資料標註畫面後即可檢視滙入的標註結果。 ![](/uploads/upload_f821a84ee335a35d9b2199d43604622b.png) :::info :bulb:**提示:** CVAT 支援的標註資料格式說明請參見 [**CVAT 官方說明文件**](https://opencv.github.io/cvat/docs/manual/advanced/formats/)。 ::: ### 停用 CVAT 服務 * 點擊上方的停用圖示,可停用 CVAT 服務。  ![](/uploads/upload_0a20de072e71ecff12f4952ae9620592.png) * 再次點擊「**確定**」即可。 ![](/uploads/upload_a54624b85a1e1a167ad942305f458a79.png) :::info :bulb:**提示:** 停用 CVAT 服務並不會删除 CVAT 中的資料。 ::: ## 範本 AI Maker 範本功能可將在機器學習開發流程中各項任務所需使用的參數或設定儲存成範本,方便日後快速套用,以節省開發的時間。 ### 公用範本與私人範本 範本分為公用範本與私人範本兩種: * **公用範本**:系統內建多種機器學習訓練及推論範本,例如:YOLO 影像辨識、Clara 醫學影像辨識及表格資料應用等,幫助不同領域的使用者快速上手。 :::info :bulb:**提示:** 更多公用範本資訊,請參考 [**AI Maker 案例教學**](/s/xKNcU3O5D#案例教學)。 ::: * **私人範本**:使用者自行創建的範本,僅可在該專案中與團隊成員共用。 ### 建立範本 點選左側「**範本**」,進入「**範本管理**」頁面,點擊「**+建立**」。如果是剛開始使用 AI Maker,亦可先跳過建立範本步驟,直接建立「**訓練任務**」。 * 輸入範本名稱及描述,選擇範本類型,接著點擊「**下一步:訓練任務>**」。 ![](/uploads/upload_b30471458de8a54483fd705d6e45f550.png) * 依照下列步驟完成範本設定,可選擇只設定一種範本或多種範本。 #### 設定訓練任務範本 * 選擇範本:點擊「**選擇**」選取 **公用** 或 **私人** 範本,系統會帶出選取範本的設定內容,可直接套用或再進行修改,若不選擇可自行設定。 :::info :bulb: **提示:** 首次使用建議參考公用範本設定。 ::: * 映像檔來源:點擊「**選擇**」選取 **公用** 或 **私人** 映像檔。 * 映像檔標籤:選擇映像檔標籤。 * 環境變數:輸入環境變數的名稱及數值。 * 超參數:當訓練任務的方法選擇 **Smart ML 訓練任務** 時,需設定機器學習演算法所需的超參數,包含參數的名稱、類型及數值(或數值範圍),選擇類型後(整數、小數和陣列),請依提示輸入相對的數值格式。 * 目標參數:輸入目標參數的名稱及目標方向。例如:accuracy 的目標方向為最大值、error 的目標方向為最小值。 * 命令:輸入欲執行的命令或程式名稱,例如:`python $INPUT/app.py`。 * 輸入來源:指定訓練資料的存放位置。 * 輸出位置:訓練完後模型的存放位置及掛載路徑,預設的輸出位置為 `OUTPUT`,掛載路徑為 `/output`。 完成後,接著點擊「**檢閱 + 建立**」或「**下一步:推論>**」。 ![](/uploads/upload_66beec7c9937701d409aa425fe84d71f.png) #### 設定推論範本 * 來源模型:輸入來源模型的名稱及掛載路徑。如需多個模型進行推論,可點擊「**新增**」,增加其他來源模型。 * 選擇範本:點擊「**選擇**」選取 **公用** 或 **私人** 範本,系統會帶出選取範本的設定內容,可直接套用或再進行修改,若不選擇可自行設定。 * 映像檔來源:點擊「**選擇**」選取 **公用** 或 **私人** 映像檔。 * 映像檔標籤:選擇映像檔標籤。 * 環境變數:輸入環境變數的名稱及數值。 * 命令:輸入欲執行的命令或程式名稱。例如:`python $INPUT/app.py`。 * 監控資料:點擊「**新增**」,接著輸入監控資料的名稱及類別,監控結果會以圖表方式呈現在推論任務的監控頁面中。 :::info :bulb: **提示:** 此處監控資料的設定與您的推論程式有關,相關說明請參見 [**準備工作 > 將推論結果傳回 AI Maker**](#32-將推論結果傳回-AI-Maker)。 ::: 完成後點擊「**下一步:檢閱 + 建立>**」,檢閱建立的範本設定,確定後點擊「**建立**」。 ![](/uploads/upload_9d087f4a7efb31aadedd0b9f06c56c6d.png) * 範本建立後,會出現在範本管理列表,建立成功的範本項目會出現勾選圖示,點選該範本列表,可進入「**範本詳細資料**」頁面,檢視範本設定。 ![](/uploads/upload_09c32643ffdca6748bab7cae18ca7b7a.png) ### 範本管理 #### 編輯範本 * 進入範本詳細資料頁面,點擊命令列的鉛筆圖示編輯範本設定,完成後點擊「**儲存編輯**」。 ![](/uploads/upload_20dd929f026426d2beb3db77ebfe6564.png) ### 删除範本 * 在範本管理列表中,將滑鼠移動到右側的更多選項圖示,接著點選「**删除**」。 ![](/uploads/upload_0eeb8ba5d5ae9c54d49987e49ed16e38.png) ## 訓練任務 * 訓練任務功能提供一般訓練任務或 Smart ML 訓練任務: - **一般訓練任務**:根據使用者的設定,執行一次性的訓練。 - **Smart ML 訓練任務**:Smart ML 訓練任務可自動調整超參數,能夠有效地將計算資源用於多個模型訓練,節省使用者在分析和調整模型訓練參數上的時間和成本。 ### 建立訓練任務 * 點選左側「**訓練任務**」,從上方頁籤點選切換「**一般訓練任務**」或「**SMART ML 訓練任務**」,接著點擊「**+建立**」。 ![](/uploads/upload_23c6fdd3e1f534366eba29c61b4c55d9.png) 完成下列設定: #### 1. 基本資訊 * 名稱:輸入訓練任務的名稱。 * 描述:輸入訓練任務的描述。 * 演算法:當訓練方法為 **Smart ML 訓練任務**,可選擇系統提供的演算法。 - **Bayesian**:根據環境變數、超參數的設置範圍和訓練的次數,有效地執行多項訓練任務,並找到更好的參數組合。 - **TPE**:Tree-structured Parzen Estimator,與 Bayesian 演算法類似,可優化高維度超參數的訓練任務。 - **Grid**:經驗豐富的機器學習使用者可以指定超參數的多個值,系統將根據超參數列表的組合執行多個訓練任務,並獲得計算結果。 - **Random**:在指定範圍內隨機選擇用於訓練任務的超參數。 * 選擇方法:點擊「**選擇**」選取訓練方法,不同的訓練方法會切換不同的設定頁面。 * 選擇範本:點擊「**選擇**」選取 **公用** 或 **私人** 範本,系統會帶出選取範本的設定內容,可直接套用或再進行修改,若不選擇可自行設定。 * 映像檔來源:點擊「**選擇**」選取 **公用** 或 **私人** 映像檔。 * 映像檔標籤:選擇映像檔標籤。 接著點擊「**下一步:硬體設定>**」。 :::info :bulb: **提示:** 以下圖示以 yolov4 範本為例,AI Maker 新手可先參考 [**AI Maker 案例教學 - YOLOv4 影像辨識應用**](/s/JyKyKQe1c)。 ::: ![](/uploads/upload_a73e91d57c111a2594379985afc4f564.png) #### 2. 硬體設定 * 依您的運算需求,選擇合適的硬體規格配置,亦可點擊「**查看目前可用配額**」,檢視資源配額及已用量,接著點擊「**下一步:儲存設定>**」。 #### 3. 儲存設定 * 輸入來源:指定訓練資料所在的儲存名稱和子路徑,或創建一個新的儲存位置。 * 輸出位置:訓練結果的的存放位置及掛載路徑,由 AI Maker 預設。 接著點擊「**下一步:變數設定>**」。 ![](/uploads/upload_160a339bc0b20571208709751d41df17.png) #### 4. 變數設定 * 環境變數:輸入環境變數的名稱及數值。 * 超參數:當訓練任務的方法選擇 Smart ML 訓練任務時,需設定機器學習演算法所需的超參數,包含參數的名稱、類型及數值(或數值範圍),選擇類型後(整數、小數和陣列),請依提示輸入相對的數值格式。 * 目標參數:輸入目標參數的名稱及目標方向。例如: accuracy 的目標方向為最大值、error 的目標方向為最小值。 * 命令:輸入欲執行的命令或程式名稱。例如:`python $INPUT/app.py`。 * 任務次數:設定訓練次數。 接著點擊「**下一步:檢閱+建立>**」。 ![](/uploads/upload_cc203df6b60fd605722eec004af9dfb8.png) #### 5. 檢閱+建立 * 檢視建立的訓練任務設定,確定後點擊「**建立**」。 ### 訓練任務管理 * 訓練任務建立後,會出現在列表的最上方,點擊列表進入訓練任務詳細資料頁面。 ![](/uploads/upload_17232ac2f53d8e5e5bcb57c05a1e450c.png) * 進入訓練任務詳細資料頁面後可檢視訓練任務的詳細設定。點擊命令列的圖示可執行 **儲存(儲存為範本)**、**啟動**、**停止**、**編輯**、**删除** 及 **重新整理** 功能。 :::info :bulb: **提示:** 請參考 [**服務狀態說明**](/s/rfvQ74z-t#AI-Maker-一般訓練任務(任務)),若服務建立不成功,建議先使用 [**筆記本服務**](/s/Z8LdmjL9M) 或 [**容器服務**](/s/yGbG4JJyi) 確認環境設定及程式可成功執行。 ::: ![](/uploads/upload_bf77cc3870f7bffa1dd8967988252561.png) ### 啟動訓練任務 * 進入「**訓練任務詳細資料**」頁面,可確認配置頁面的內容,若訓練任務的狀態顯示為 **`Ready`** 時,即可點擊上方的「**啟動**」圖示執行訓練任務。 ![](/uploads/upload_473cdeb73294a9c986cd77e291309c65.png) * 點擊上方「**運行列表**」,進入「**運行列表**」頁面,數分鐘後,列表中會顯示訓練任務工作的排程及狀態。 * 將滑鼠游標移到列表右側的更多選項圖示,可選擇「**查看超參數**」、「**查看日誌**」或「**查看詳細狀態**」。選單出現的項目,會因不同的訓練方法和狀態而有所不同。 ![](/uploads/upload_cbba43957f8ad8cda02efa8c761d65b8.png) ### 檢視訓練結果 * 訓練任務運算完成後,在「**運行列表**」頁面中的工作項目會變成 **`Completed`**,並顯示運算結果。如果此訓練任務為 **Smart ML 訓練任務**,可點選右側的更多選項選單中的「**查看超參數**」查看此次訓練任務使用的超參數數值。 ![](/uploads/upload_efbd8f26680a5bac82b07ee57cd8c24c.png) ![](/uploads/upload_af068b233c9d25db70c1c68b01855474.png) ### 儲存模型 * 點擊「**儲存為模型**」可將達到預期結果的模型儲存至模型儲存庫中,輸入模型名稱和版本後點擊「**確定**」。 ![](/uploads/jLBjYob.png) * 模型儲存完成後,會進入該模型的管理頁面,並顯示模型的版本列表。 ![](/uploads/KQT854b.png) ## 模型 模型功能可控管已儲存的模型、挑選模型進行推論或删除成效不佳的模型,協助開發人員管理模型的生命週期,加速 ML 開發流程。 ### 模型管理 * 從 OneAI 服務列表選擇「**AI Maker**」,再點擊「**模型**」,進入模型管理頁面後,再點擊列表中的模型,進入模型版本管理頁面。 ![](/uploads/KQT854b.png) ![](/uploads/FbDAkls.png) * 在「**模型詳細資料**」頁面,將滑鼠游標移到列表右側的更多選項圖示可檢視模型的詳細資訊,或點選「**推論**」或「**删除**」。 :::info :bulb: **提示:** 對於成效不佳或不再使用的模型,可删除模型以節省資源。  ::: ![](/uploads/upload_b2a299064b840ce6b913ea56e72012d3.png) * 點擊模型版本列表可查看模型詳細資料。 ![](/uploads/upload_d67a78eaa7b0bb9f38039acd1d0b3c88.png) ### 匯入模型 如果已經有訓練好的模型,可將模型打包成 ZIP 檔並上傳到 OneAI 的「**儲存服務**」的儲存體中,再滙入到 AI Maker 的模型管理服務,方便集中管理或進行後續的推論任務。 * 從 OneAI 服務列表選擇「**儲存服務**」進入儲存服務管理頁面,可在搜尋框輸入所欲上傳的儲存體名稱,再點擊列表進入該儲存體。 ![](/uploads/upload_545fa77503aacf9df1b1431e9518e2b3.png) * 將準備好模型的 ZIP 檔上傳到該儲存體(請參閱 [**儲存服務說明文件**](/s/_F4C_EzEa))。 ![](/uploads/upload_a75c6d8dec52ead61e7a53b35a8f293d.png) * 從 OneAI 服務列表選擇「**AI Maker**」,再點擊「**模型**」,進入模型管理頁面後,再點擊列表中的模型,進入模型版本管理頁面。 ![](/uploads/upload_91a4bc5f018c82c26d73d07ee9942912.png) * 點擊上方 **滙入** 圖示,滙入既有的模型。 ![](/uploads/upload_5c12f280c93d0847bcdf4c0e329bb858.png) * 完成「**滙入模型**」的設定後點擊「**確定**」。 - 模型名稱:此欄位會自動帶入。 - 版本:請輸入模型版本,例如:yolov4。 - 描述:請輸入模型版本的描述,非必填。 - 儲存:選擇模型存放的儲存體。 - 儲存子路徑:選擇模型存放的儲存體中的子路徑,非必填。 - 檔案名稱:請輸入此模型的 ZIP 檔完整檔名,例如:yolov4.zip。 ![](/uploads/upload_dbdf384c63a8d2d3b7a3877f672f3e19.png) * 滙入模型可能需要一些時間,可點擊上方的 **重新整理** 圖示,滙入成功後將出現在模型版本列表中。 ![](/uploads/upload_ca6041eace95da00fdc32a7d4f9e8764.png) ### 下載模型 * 在「**模型詳細資料**」頁面,點擊上方 **下載** 圖示,此時系統會先將模型打包成 ZIP 檔,再提供「**下載**」按鈕。 ![](/uploads/upload_2934a06af3cd4e2c7997f04371f5a32d.png) * 請依照頁面上出現的提示,等待 **下載** 的狀態變成 **`Ready`** 後再點擊「**下載**」按鈕即可取得該模型的 ZIP 檔。 ![](/uploads/upload_dece722f1f97085828769c901c99a878.png) ![](/uploads/upload_3ba1640663365cc8ea90580be42efc9e.png) ## 推論 推論功能可將訓練好的模型部署至應用程式或服務執行推論。 ### 建立推論任務 * 在「**模型詳細資料**」頁面,點擊上方 **推論** 圖示,以此模型建立推論。 ![](/uploads/upload_d345d622c86a3caedc61be4540d189d7.png) * 亦可點選左側「**推論**」,接著點擊「**+建立**」。 ![](/uploads/upload_f803c2d785290db79e0f141a020439b3.png) 完成下列設定: #### 1. 基本資訊 * 名稱:設定推論任務的名稱。 * 描述:設定推論任務的描述。 * 來源模型:輸入來源模型的名稱、模型名稱、版本及掛載位置,如需多個模型進行推論,可點擊「**新增**」,增加其他來源模型。 * 選擇範本:點擊「**選擇**」選取 **公用** 或 **私人** 範本,系統會帶出選取範本的設定內容,可直接套用或再進行修改,若不選擇可自行設定。 * 映像檔來源:點擊「**選擇**」選取 **公用** 或 **私人** 映像檔。 * 映像檔標籤:選擇映像檔標籤。 接著點擊「**下一步:硬體設定>**」。 :::info :bulb: **提示:** 以下圖示以 yolov4 範本為例,AI Maker 新手可先參考 [**AI Maker 案例教學 - YOLOv4 影像辨識應用**](/s/JyKyKQe1c)。 ::: ![](/uploads/upload_eb1642b07db1b187948926e844737eb8.png) #### 2. 硬體設定 * 依您的運算需求,選擇合適的硬體規格配置,亦可點擊「**查看目前可用配額**」,檢視目前專案的資源配額及已用量,接著點擊「**下一步:儲存設定>**」。 #### 3. 儲存設定 * 輸入來源:點擊「**新增**」可設定推論資料所在的儲存名稱、掛載位置及路徑,如不需使用亦可略過,接著點擊「**下一步:變數設定>**」。 ![](/uploads/upload_632e8e24ba501d5be08d58d9425abb78.png) #### 4. 變數設定 * 環境變數:輸入環境變數的名稱及數值。 * 命令:輸入欲執行的命令或程式名稱。例如:python $INPUT/app.py。 * Port:設定推論服務的埠號,系統預設為 9999。 完成後點擊「**下一步:進階設定>**」。 ![](/uploads/upload_3b7eb57fefd355055533cfc97d286945.png) #### 5. 進階設定 * 監控資料:點擊「**新增**」可建立欲監控資料的名稱及資料類別,如不需使用亦可略過,完成後點擊「**下一步:檢閱+建立**」。 :::info :bulb: **提示:** 監控資料的設定與您的推論程式有關,相關說明請參見 [**準備工作 > 將推論結果傳回 AI Maker**](#32-將推論結果傳回-AI-Maker)。 ::: ![](/uploads/upload_f5eeecbbd225be93f73e7fe97f31ba33.png) #### 6. 檢閱+建立 * 檢閱建立的推論任務設定,確定後點擊「**建立**」。 ### 推論管理 * 推論任務建立後,會出現在列表的最上方,點擊列表進入推論詳細資料頁面。 * 進入推論詳細資料頁面後可檢視推論任務的詳細設定。點擊命令列的圖示可執行 **儲存**、**連結/取消至 CVAT**、**啟動**、**停止**、**編輯**、**删除** 及 **重新整理**,點擊「**查看日誌**」可查看推論任務的運行日誌。 :::info :bulb: **提示:** 請參考 [**服務狀態說明**](/s/rfvQ74z-t#AI-Maker-推論服務)。 ::: ![](/uploads/upload_79ee1c5c589870ac468b4f8bf3db938f.png) ### 執行推論 * 當狀態顯示為 **`Ready`** 時,即可連線到推論服務進行推論,連線資訊會顯示在網路區塊的網址欄位。 :::info :bulb: **提示:** 目前推論服務不開放對外埠,如需對外提供服務,請在同專案建立對外的「**容器服務**」,再透過「**網址**」連結推論服務,使用方式可參考 [**AI Maker 案例教學**](/s/xKNcU3O5D#案例教學)。 ::: ![](/uploads/upload_47fc324dd50ee59973be83650d225e3d.png) ### 推論監控 * 點擊上方「**監控**」可查看推論任務的監控資訊及推論 API 計數。 :::info :bulb: **提示:** 此處監控圖表的呈現與您的推論程式及推論任務進階設定有關,相關說明請參見: * [**準備工作 > 將推論結果傳回 AI Maker**](#32-將推論結果傳回-AI-Maker)。 * [**建立推論任務 > 進階設定**](#5-進階設定)。 ::: ![](/uploads/upload_26d52b8983f6cdc3e7eb8fba29da9127.png) ### 連結推論服務至 CVAT 如果您建立的推論服務支援 CVAT,可以連結推論服務至 CVAT 標註工具。 :::info :bulb: **提示:** 請參考 [**AI Maker 案例教學 - YOLOv4 影像辨識應用**](/s/JyKyKQe1c)。 ::: #### 連結 CVAT AI Maker 推論服務連結至 CVAT 的設定有三個地方: * 進入「**CVAT 管理**」頁面後,點擊 **連結推論服務至 CVAT** 區塊下方的「**新增**」按鈕,若已有推論服務連結至 CVAT,則此按鈕會變成「**編輯**」。 * 點選左側功能列「**推論**」進入「**推論管理**」,接著點擊欲連接 CVAT 的推論任務,進入「**推論詳細資料**」頁面後點擊上方「**連接至 CVAT**」圖示。 ![](/uploads/upload_78a00d5750418c629562fcf8f49ea0f7.png) * 亦可在推論管理列表中,將滑鼠移動到右側的更多選項圖示,接著點選「**連結至 CVAT**」。 ![](/uploads/upload_a5d34f8aa175aa1f177752b7aa455215.png) * 成功連結至 CVAT 後,點選左側功能列之「**標註工具**」,進入 CVAT 服務,在頁面下方會列出已連結的推論服務,點擊「**開啟**」並登入 CVAT 服務。 ![](/uploads/upload_d9dd776c437a955c6b44905c71adc4b9.png) #### CVAT 自動標註 * 進入 CVAT 服務的 「**Tasks**」頁面,將滑鼠移動到欲進行自動標註的任務右側「**Actions**」的更多選項圖示,接著點選「**Automatic annotation**」。 ![](/uploads/upload_265131d2cdf31b50712a9501e5a6c18e.png) * 出現「**Automatic annotation**」視窗後點擊「**Model**」下拉選單,選取已連結的推論任務模型。 ![](/uploads/upload_d3f421637ecdd5a5e256425496bd5184.png) * 接著設定模型與任務 Label 對應,最後點擊「**Annotate**」執行自動標註。 ![](/uploads/upload_03a168df5c39d0bc4ff9823012757ecc.png) * 標註完成後畫面上會出現標註完成的提示。 ![](/uploads/upload_9a5737e66f9c6b1c628169cbf61f7819.png) * 標註完成後,進入 CVAT 標註工具頁面即可檢視自動標註的結果,若對自動標註的結果不滿意,可再進行人工標註校正或重新訓練優化模型。 ![](/uploads/upload_4f9643e996c0e5f1813c9790bf0b695c.png) #### 取消 CVAT 連結 * 進入「**推論詳細資料**」頁面,點擊上方「**取消 CVAT 連結**」圖示,成功取消 CVAT 連接後,上方的圖示會變回「**連結至 CVAT**」。 ![](/uploads/upload_94f3720b8ce8b16d1167c5294376006a.png) ### 推論服務資源監控 請參見[ **資源監控**](/s/gEQO9lvF8) 文件。 ## [AI Maker 案例教學](/s/xKNcU3O5D#案例教學)