複製並備份您的自訂視覺專案
在您建立並定型自訂視覺專案之後,建議您將專案複製到另一個資源。 如果您的應用程式或企業仰賴自訂視覺專案,建議您將模型複製到另一個區域中的另一個自訂視覺帳戶。 如此一來若是發生了區域性停電時,您就可以從資料所複製到的區域存取資料。
ExportProject \(英文\) 和ImportProject \(英文\) API 可讓您將專案藉由從一個自訂視覺帳戶複製到其他帳戶的方式來啟用此案例。 本指南將說明如何透過 cURL 使用這些 REST API。 您也可使用 HTTP 要求服務,例如適用於 Visual Studio Code 的 REST 用戶端來提出要求。
提示
針對使用 Python 用戶端程式庫情況下的範例,請參閱 GitHub 上的移動自訂視覺專案 \(英文\) 存放庫。
提示
如果您想要將自訂視覺專案移至 Azure AI 視覺影像分析 4.0,請參閱移轉指南。 若要比較這兩個服務,請參閱比較頁面。
必要條件
- 兩種 Azure AI 自訂視覺資源。 如果您還沒有自訂視覺資源,請前往 Azure 入口網站並建立新的自訂視覺資源。
- 您自訂視覺資源的定型金鑰和端點 URL。 您可以在 Azure 入口網站上資源的 [總覽] 索引標籤中找到這些值。
- 已建立的自訂視覺專案。 如需如何進行此動作的指示,請參閱 建立分類器。
- PowerShell 6.0 版以上,或類似的命令列公用程式。
程序概觀
複製一個專案的流程以下列步驟組成:
- 首先,您要先從來源帳戶內取得想要複製的專案的識別碼。
- 然後您便能使用來源帳戶的專案識別碼和定型金鑰來呼叫 ExportProject API。 您將會取得暫時權杖字串。
- 然後您便能使用目標帳戶的權杖字串和定型金鑰來呼叫 ImportProject API。 專案接著會列在您的目標帳戶下。
取得專案識別碼
首先,呼叫 GetProjects \(英文\) 以查看您現有的自訂視覺專案及其識別碼的清單。 使用來源帳戶的定型金鑰和端點。
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects"
-H "Training-key: {training key}"
您將會在主體中取得 200\OK
回應以及一個專案清單及其中繼資料。 "id"
值是要用在後續步驟中,並應被複製下來的字串。
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"settings": {
"domainId": "00000000-0000-0000-0000-000000000000",
"classificationType": "Multiclass",
"targetExportPlatforms": [
"CoreML"
],
"useNegativeSet": true,
"detectionParameters": "string",
"imageProcessingSettings": {
"augmentationMethods": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
]
匯出專案
使用專案識別碼和來源定型金鑰和端點來呼叫 ExportProject \(英文\)。
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects/{projectId}/export"
-H "Training-key: {training key}"
您將會收到 200/OK
回應,以及關於匯出專案的中繼資料與參考字串 "token"
。 複製權杖的值。
{
"iterationCount": 0,
"imageCount": 0,
"tagCount": 0,
"regionCount": 0,
"estimatedImportTimeInMS": 0,
"token": "string"
}
提示
如果您在匯入專案時收到了「權杖不正確」錯誤,表示權杖 URL 字串可能尚未經過 web 編碼。 您可以使用 URL 編碼器 \(英文\) 來編碼權杖。
匯入專案
使用您的目標定型金鑰和端點,以及參考權杖來呼叫 ImportProject \(英文\)。 您也可以在新的帳戶中為您的專案取名。
curl -v -G -X POST "{endpoint}/customvision/v3.3/Training/projects/import"
--data-urlencode "token={token}" --data-urlencode "name={name}"
-H "Training-key: {training key}" -H "Content-Length: 0"
您將會收到 200/OK
回應,以及關於新匯入專案的中繼資料。
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"settings": {
"domainId": "00000000-0000-0000-0000-000000000000",
"classificationType": "Multiclass",
"targetExportPlatforms": [
"CoreML"
],
"useNegativeSet": true,
"detectionParameters": "string",
"imageProcessingSettings": {
"augmentationMethods": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
下一步
在本指南中,您已了解如何在自訂視覺資源之間複製和移動專案。 接下來,請探索 API 參考文件,以了解您可以使用的其他自訂視覺執行功能。