當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python arcgis.learn.train_model用法及代碼示例


用法:

arcgis.learn.train_model(input_folder, model_type, model_arguments=None, batch_size=2, max_epochs=None, learning_rate=None, backbone_model=None, validation_percent=None, pretrained_model=None, stop_training=True, freeze_model=True, overwrite_model=False, output_name=None, context=None, *, gis=None, future=False, **kwargs)

參數:

  • input_folder: 必需的字符串。這是訓練樣本數據的輸入位置。它可以是文件共享柵格數據存儲上的輸出位置路徑,也可以是共享文件係統路徑。訓練樣本數據文件夾需要是export_training_data函數的輸出,包含“images” and “labels”文件夾,以及函數一起寫出的JSON模型定義文件。
    文件共享柵格存儲和數據存儲路徑示例:
    • /rasterStores/yourRasterStoreFolderName/trainingSampleData
    • /fileShares/yourFileShareFolderName/trainingSampleData
    共享路徑示例:
    • 服務器名稱deepLearningrainingSampleData
  • model_type: 必需的字符串。用於訓練深度學習模型的模型類型。可能的值:SSD、UNET、FEATURE_CLASSIFIER、PSPNET、RETINANET、MASKRCNN
    • SSD - 單次檢測器 (SSD) 用於對象檢測。
    • UNET - U-Net 用於像素分類。
    • FEATURE_CLASSIFIER - 要素分類器用於對象分類。
    • PSPNET - 金字塔場景解析網絡 (PSPNET) 用於像素分類。
    • RETINANET - RetinaNet 用於對象檢測。
    • MASKRCNN - MarkRCNN 用於對象檢測
  • model_arguments: 可選字典。 Name-value 可以由客戶端自定義的參數對及其值。
    例子:
    {“name1”:”value1”,“name2”:“value2”}
  • batch_size: 可選 int 一次要處理的訓練樣本數進行訓練。如果服務器有強大的 GPU,這個數字可以增加到 16、36、64 等等。
    例子:
    4
  • max_epochs: 可選 int 模型應訓練的最大 epoch 數。一個 epoch 意味著整個訓練數據集將通過深度神經網絡向前和向後傳遞一次。
    例子:
    20
  • learning_rate: 可選浮點數。訓練期間權重更新的速率。它是一個介於 0.0 和 1.0 之間的小的正值。如果學習率設置為0,它將在訓練過程中從學習曲線中提取最優學習率。
    例子:
    0.0
  • backbone_model: 可選字符串。指定要用作訓練新模型的架構的預配置神經網絡。可能的值: DENSENET121 , DENSENET161 , DENSENET169 , DENSENET201 , MOBILENET_V2 , MASKRCNN50_FPN ,
    RESNET18,RESNET34,RESNET50,RESNET101,RESNET152,VGG11,VGG11_BN,VGG13,VGG13_BN,VGG16,VGG16_BN,VGG19,VGG19_BN
    例子:
    RESNET34
  • validation_percent: 可選浮點數。將用於驗證模型的訓練樣本數據的百分比(以 % 為單位)。
    例子:
    10
  • pretrained_model: 可選的 dlpk 門戶項目。 用於微調新模型的預訓練模型。它是一個深度學習模型包 (dlpk) 門戶項目。
  • stop_training: 可選的布爾值。指定是否將實施提前停止。
    • True - 當模型不再改進時,模型訓練將停止,無論指定的最大時期如何。這是默認設置。
    • False - 模型訓練將繼續,直到達到最大時期。
  • freeze_model: 可選的布爾值。指定是否凍結預訓練模型中的主幹層,以使主幹層中的權重和偏差保持不變。
    • True - 預定義的權重和偏差不會在主幹模型中改變。這是默認設置。
    • False - 可以更改主幹模型的權重和偏差以更好地適應您的訓練樣本。這可能需要更多時間來處理,但通常可以獲得更好的結果。
  • overwrite_model: 可選的布爾值。覆蓋具有相同名稱的現有深度學習模型包 (.dlpk) 門戶項目。 如果 output_name 參數使用文件共享數據存儲路徑,則不應用此 overwriteModel 參數。
    • True - 門戶 .dlpk 項目將被覆蓋。
    • False - 門戶 .dlpk 項目不會被覆蓋。這是默認設置。
  • output_name: 可選的。經過訓練的深度學習模型包既可以作為項目添加到門戶,也可以寫入數據存儲。 要添加為項目,請指定要創建的輸出深度學習模型包(項目)的名稱。
    例子 -
    “trainedModel”
    為了將 dlpk 寫入文件共享數據存儲,請指定數據存儲路徑。
    例子 -
    “/fileShares/filesharename/文件夾”
  • context: 可選字典。上下文包含影響任務執行的其他設置。字典可以包含以下鍵的值:
    • cellSize - 設置輸出柵格像元大小或分辨率
    • extent - 設置函數使用的處理範圍
    • parallelProcessingFactor - 設置並行處理因子。默認為“80%”
    • processorType - 設置處理器類型。 “CPU” 或 “GPU”
    例子 -
    {“processorType”:“CPU”}
    設置上下文參數將覆蓋使用arcgis.env 變量為此特定函數設置的值。
  • gis: 可選的地理信息係統。運行此工具的 GIS。如果未指定,則使用活動 GIS。

返回:

返回具有標題、類型、文件名、文件、id 和 folderId 屬性的 dlpk 門戶項目。

函數可用於使用 export_training_data 函數的輸出來訓練深度學習模型。它會生成深度學習模型包 (*.dlpk) 並將其添加到您的企業門戶。 train_model 函數使用 Raster Analytics 服務器執行訓練。 .. 筆記:

This function is supported with ArcGIS Enterprise (Image Server)

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.learn.train_model。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。