当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。