TrainDeepLearningModel(in_folder, out_folder, {max_epochs}, {model_type}, {batch_size}, {arguments}, {learning_rate}, {backbone_model}, {pretrained_model}, {validation_percentage}, {stop_training}, {freeze}, {augmentation}, {augmentation_parameters}, {chip_size}, {resize_to}, {weight_init_scheme}, {monitor}, {tensorboard})
|
名称
|
说明
|
数据类型
|
|
in_folder
[in_folder,...]
|
包含训练模型所需的影像片、标注和统计数据的文件夹。 此数据为导出训练数据进行深度学习工具的输出。
满足以下条件时,支持多个输入文件夹:
|
Folder
|
|
out_folder
|
将存储训练模型的输出文件夹位置。
|
Folder
|
|
max_epochs
(可选)
|
应用于将训练模型的最大轮数。 最大轮数值为 1 意味着数据集将通过神经网络向前和向后传递一次。 默认值为 20。
|
Long
|
|
model_type
(可选)
|
指定要用于训练深度学习模型的模型类型。
3DRCNET—将使用 3D 关系卷积神经网络 (3D-RCNet) 架构训练模型。 该选项继承了 ConvNet 和 ViT 的优点,可实现高性能的高光谱影像分类。
BDCN_EDGEDETECTOR—将使用双向级联网络 (BDCN) 架构训练模型。 BDCN 边缘检测器用于像素分类。 这种方法对于改进不同尺度对象的边缘检测很有帮助。
CHANGEDETECTOR—将使用变化检测器 (SSD) 架构训练模型。 变化检测器用于像素分类。 此方法会创建一个模型对象,以使用两个时空图像创建变化的分类栅格。 此模型类型的输入训练数据使用已分类切片元数据格式。
CLIMAX—将使用 ClimaX 架构来模型训练。 ClimaX 用于像素分类。 该方法主要用于天气和气候分析。 针对此模型类型使用的初始数据为多维数据。
CONNECTNET—将使用 ConnectNet 架构训练模型。 ConnectNet 用于像素分类。 这种方法对于从卫星图像中提取道路网络非常有用。
CYCLEGAN—将使用 CycleGAN 架构训练模型。 CycleGAN 用于影像到影像转换。 此方法会创建一个模型对象,用于将一种类型的影像转换为另一种。 此方法的独特之处在于要训练的影像无需重叠。 此模型类型的输入训练数据使用 CycleGAN 元数据格式。
DEEPLAB—将使用 DeepLabV3 架构训练模型。 DeepLab 用于像素分类。
DEEPSORT—将使用 Deep Sort 架构训练模型。 Deep Sort 用于检测视频中的对象。 使用视频帧进行训练该模型,并检测每个帧中对象的类别和边界框。 此模型类型的输入训练数据使用 Imagenet 元数据格式。 Siam Mask 可用于跟踪对象,而 Deep Sort 可用于将模型训练为跟踪多个对象。
DETREG—将使用 DETReg 架构训练模型。 DETReg 用于对象检测。 该模型类型的输入训练数据使用 Pascal 可视化对象类。 这种模型类型属于 GPU 密集型,需要一个至少有 16 GB 内存的专用 GPU 才能正常运行。
FASTERRCNN—将使用 FasterRCNN 架构训练模型。 FasterRCNN 用于对象检测。
FEATURE_CLASSIFIER—将使用要素分类器架构训练模型。 要素分类器用于对象或影像分类。
HED_EDGEDETECTOR—将使用整体嵌套边缘检测 (HED) 架构训练模型。 HED 边缘检测器用于像素分类。 这种方法可用于检测边缘和对象边界。
IMAGECAPTIONER—将使用影像描述生成器架构训练模型。 影像描述生成器用于影像到文本转换。 此方法会创建了一个模型,用于为图像生成文本说明。
MASKRCNN—将使用 MaskRCNN 架构训练模型。 MaskRCNN 将用于对象检测。 此方法可用于实例分割,即对影像中的对象进行精确划分。 此模型类型可用于检测建筑物覆盖区。 该类型将 MaskRCNN 元数据格式作为输入用于训练数据。 输入训练数据的类值必须从 1 开始。 只能使用支持 CUDA 的 GPU 来训练此模型类型。
MAXDEEPLAB—将使用 MaX-DeepLab 架构训练模型。 MaX-DeepLab 用于全景分割。 此方法会创建一个模型对象,用于生成影像和要素。 此模型类型的输入训练数据使用全景分割元数据格式。
MMDETECTION—将使用 MMDetection 架构训练模型。 MMDetection 用于对象检测。 受支持的元数据格式为 PASCAL 可视化对象类矩形和 KITTI 矩形。
MMSEGMENTATION—将使用 MMSegmentation 架构训练模型。 MMSegmentation 用于像素分类。 受支持的元数据格式为已分类切片。
MULTITASK_ROADEXTRACTOR—将使用多任务道路提取器架构训练模型。 多任务道路提取器用于像素分类。 这种方法对于从卫星图像中提取道路网络非常有用。
PIX2PIX—将使用 Pix2Pix 架构训练模型。 Pix2Pix 用于影像到影像转换。 此方法会创建一个模型对象,用于将一种类型的影像转换为另一种。 此模型类型的输入训练数据使用导出切片元数据格式。
PIX2PIXHD—将使用 Pix2PixHD 架构训练模型。 Pix2PixHD 用于影像到影像转换。 此方法会创建一个模型对象,用于将一种类型的影像转换为另一种。 此模型类型的输入训练数据使用导出切片元数据格式。
PSETAE—将使用像素集编码器和时间注意力 (PSETAE) 架构针对时间序列分类训练模型。 PSETAE 用于像素分类。 针对此模型类型使用的初始数据为多维数据。
PSPNET—将使用金字塔场景解析网络 (PSPNET) 架构训练模型。 PSPNET 用于像素分类。
RETINANET—将使用 RetinaNet 架构训练模型。 RetinaNet 将用于对象检测。 该模型类型的输入训练数据使用 Pascal 可视化对象类元数据格式。
RTDETRV2—将使用改进的 Real-Time DEtection TRansformer (RTDetrV2) 架构训练模型。 RTDetrV2 以之前的实时检测器 RT-DETR 为基础。 RTDetrV2 用于目标检测。 该模型类型的输入训练数据使用 Pascal 可视化对象类和 KITTI 矩形元数据格式。
SAMLORA—具有低秩适应 (LoRA) 的 Segment Anything Model (SAM) 将用于训练模型。 此模型类型使用 SAM 作为基础模型并使用针对计算要求相对较低且数据集较小的特定任务进行微调。
SIAMMASK—将使用 Siam Mask 架构训练模型。 Siam Mask 用于检测视频中的对象。 使用视频帧进行训练该模型,并检测每个帧中对象的类别和边界框。 此模型类型的输入训练数据使用 MaskRCNN 元数据格式。
SSD—将使用单帧检测器 (SSD) 架构训练模型。 SSD 将用于对象检测。 该模型类型的输入训练数据使用 Pascal 可视化对象类元数据格式。
SUPERRESOLUTION—将使用超分辨率架构训练模型。 超分辨率用于影像到影像转换。 此方法会创建一个模型对象,用于增加分辨率和提高影像质量。 此模型类型的输入训练数据使用导出切片元数据格式。
UNET—将使用 U-Net 架构训练模型。 U-Net 用于像素分类。
YOLOV3—将使用 YOLOv3 架构训练模型。 YOLOv3 用于对象检测。
|
String
|
|
batch_size
(可选)
|
一次需要处理以便用于训练的训练样本数。
增加批处理大小可以提高工具性能;但是随着批处理大小增加,所用内存也将随之增加。
如果可用于批处理大小集的 GPU 内存不足,则该工具将尝试估计并使用最佳批处理大小。 如果出现内存不足错误,则降低批处理大小。
|
Long
|
|
arguments
[arguments,...]
(可选)
|
model_type 参数中的信息将用于设置此参数的默认值。 这些参数会有所变化,具体取决于模型架构。 ArcGIS 预训练模型和自定义深度学习模型可能具有该工具支持的其他参数。
有关适用于每种模型类型的参数的详细信息,请参阅深度学习参数。
值表列:
|
Value Table
|
|
learning_rate
(可选)
|
学习率决定了模型在训练过程中进行调整的规模。 如果未指定值,该工具会通过测试一系列值并选择能使模型精度实现最快提升的那一个,自动计算出最佳学习率。
|
Double
|
|
backbone_model
(可选)
|
指定要用作训练新模型的架构的预配置神经网络。 这种方法称为迁移学习。
此外,从 PyTorch Image Models (timm) 指定受支持卷积神经网络时还可以使用 timm 作为前缀,例如 timm:resnet31、timm:inception_v4、timm:efficientnet_b3 等。
1.40625deg—该骨干模型是在影像数据上训练的,其中每个格网像元的分辨率覆盖 1.40625 度 x 1.40625 度的区域。 这用于天气和气候预测。 这是更高分辨率的设置,允许更精确的输出,但需要更多的算力。
5.625deg—该骨干模型是在影像数据上训练的,其中每个格网像元的分辨率覆盖 5.625 度 x 5.625 度的区域。 这用于天气和气候预测。 这被视为是低分辨率设置,但需要较少的算力。
CLAY_LARGE—Clay 预配置骨干模型基于 Vision Transformer (ViT) 架构的 Large 变体(拥有 3 亿参数),并包含动态图面嵌入图层。 它利用波长信息动态生成权重。 该模型使用自监督学习(Self-Supervised Learning,SSL)方法,基于包含 Sentinel-2、Landsat、Sentinel-1 SAR、LINZ、NAIP 和 MODIS 等多类卫星传感器的大规模遥感数据进行预训练。
DARKNET53—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,其中包含 1 百万个以上的影像,且深度为 53 个图层。
DENSENET121—预先配置的模型将是在 Imagenet 数据集上训练的密集网络,其中包含 1 百万个以上的影像,且深度为 121 个图层。 与使用求和来合并图层的 ResNET 不同,DenseNet 使用串联来合并图层。
DENSENET161—预先配置的模型将是在 Imagenet 数据集上训练的密集网络,其中包含 1 百万个以上的影像,且深度为 161 个图层。 与使用求和来合并图层的 ResNET 不同,DenseNet 使用串联来合并图层。
DENSENET169—预先配置的模型将是在 Imagenet 数据集上训练的密集网络,其中包含 1 百万个以上的影像,且深度为 169 个图层。 与使用求和来合并图层的 ResNET 不同,DenseNet 使用串联来合并图层。
DENSENET201—预先配置的模型将是在 Imagenet 数据集上训练的密集网络,其中包含 1 百万个以上的影像,且深度为 201 个图层。 与使用求和来合并图层的 ResNET 不同,DenseNet 使用串联来合并图层。
DOFA_BASE—该动态通用(Dynamic One-For-All,DOFA)预配置骨干模型基于 Vision Transformer (ViT) 架构的 Base 变体(拥有 9000 万参数),并包含动态图面嵌入图层。 它利用波长信息动态生成权重。 与在 RGB 数据上训练的标准骨干模型不同,DOFA 使用自监督学习(Self-Supervised Learning,SSL)方法,在包含 Sentinel-1、Sentinel-2、NAIP 及高光谱等多类传感器的大规模遥感数据上进行预训练。
DOFA_LARGE—该动态通用(Dynamic One-For-All,DOFA)预配置骨干模型基于 Vision Transformer (ViT) 架构的 Large 变体(拥有 3 亿参数),并包含动态图面嵌入图层。 它利用波长信息动态生成权重。 与在 RGB 数据上训练的标准骨干模型不同,DOFA 使用自监督学习(Self-Supervised Learning,SSL)方法,在包含 Sentinel-1、Sentinel-2、NAIP 及高光谱等多类传感器的大规模遥感数据上进行预训练。
MOBILENET_V2—由于预配置模型将基于 Imagenet 数据库进行训练,且深度为 54 个图层,适用于边缘设备计算,因为其所用的内存更少。
REID_V1—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,用于对象追踪。
REID_V2—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,用于对象追踪。
RESNET18—预先配置的模型将是在 Imagenet 数据集上训练的残差网络,其中包含 1 百万个以上的影像,且深度为 18 个图层。
RESNET34—预先配置的模型将是在 Imagenet 数据集上训练的残差网络,其中包含 1 百万个以上的影像,且深度为 34 个图层。 这是默认设置。
RESNET50—预先配置的模型将是在 Imagenet 数据集上训练的残差网络,其中包含 1 百万个以上的影像,且深度为 50 个图层。
RESNET101—预先配置的模型将是在 Imagenet 数据集上训练的残差网络,其中包含 1 百万个以上的影像,且深度为 101 个图层。
RESNET152—预先配置的模型将是在 Imagenet 数据集上训练的残差网络,其中包含 1 百万个以上的影像,且深度为 152 个图层。
RESNEXT50—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,深度为 50 个图层。 它是同质神经网络,可减少常规 ResNet 所需的超参数的数量。
RESNEXT50_32X4D—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,深度为 50 个图层,其基数为 32 组,其中每组的瓶颈宽度为 4 个通道。 它是同质神经网络,可减少常规 ResNet 所需的超参数的数量。 该模型通常比 ResNeXt-50 精度更高,但需要更多的计算资源。
SR3—预配置模型将使用通过重复细化的超分辨率 (SR3) 模型。 SR3 将根据条件图像生成调整去噪扩散概率模型并通过随机去噪过程实现超分辨率。 有关详细信息,请参阅 arXiv 站点上的通过迭代细化实现图像超分辨率。
SR3_UVIT—该骨干模型是指基于 Vision Transformer (ViT) 的架构的具体实现,专为图像生成和 SR3 任务中的扩散模型而设计。
TERRAMIND_BASE—TerraMind 预配置骨干模型基于 ViT-Base 架构,并利用全球 TerraMesh 数据集中的数十亿个令牌完成了预训练。 TerraMind 是一个面向地球观测 (EO) 的多模态通用生成式基础模型,支持任意模态间的转换。 它采用基于双尺度 Transformer 的编码器-解码器架构,能够同时处理像素级图面和离散令牌。
TERRAMIND_LARGE—TerraMind 预配置骨干模型基于 ViT-Large 架构,并利用全球 TerraMesh 数据集中的数十亿个令牌完成了预训练。 TerraMind 是一个面向地球观测 (EO) 的多模态通用生成式基础模型,支持任意模态间的转换。 它采用基于双尺度 Transformer 的编码器-解码器架构,能够同时处理像素级图面和离散令牌。
VGG11—预配置模型将是在 Imagenet 数据集上训练的卷积神经网络,其中包含一百万个以上的影像以将影像分类为 1000 个对象类别,且深度为 11 个图层。
VGG11_BN—预配置模型将基于 VGG 网络,但具有批量归一化功能,这意味着网络中的每个图层都已归一化。 它在 Imagenet 数据集上进行了训练,具有 11 个图层。
VGG13—预配置模型将是在 Imagenet 数据集上训练的卷积神经网络,其中包含一百万个以上的影像以将影像分类为 1000 个对象类别,且深度为 13 个图层。
VGG13_BN—预配置模型将基于 VGG 网络,但具有批量归一化功能,这意味着网络中的每个图层都已归一化。 它在 Imagenet 数据集上进行了训练,具有 13 个图层。
VGG16—预配置模型将是在 Imagenet 数据集上训练的卷积神经网络,其中包含一百万个以上的影像以将影像分类为 1000 个对象类别,且深度为 16 个图层。
VGG16_BN—预配置模型将基于 VGG 网络,但具有批量归一化功能,这意味着网络中的每个图层都已归一化。 它在 Imagenet 数据集上进行了训练,具有 16 个图层。
VGG19—预配置模型将是在 Imagenet 数据集上训练的卷积神经网络,其中包含一百万个以上的影像以将影像分类为 1000 个对象类别,且深度为 19 个图层。
VGG19_BN—预配置模型将基于 VGG 网络,但具有批量归一化功能,这意味着网络中的每个图层都已归一化。 它在 Imagenet 数据集上进行了训练,具有 19 个图层。
VIT_B—预配置的 Segment Anything Model (SAM) 将与基础神经网络大小搭配使用。 这是最小大小。 有关详细信息,请参阅 arXiv 站点上的 Segment Anything。
VIT_L—预配置的 Segment Anything Model (SAM) 将与较大的神经网络大小搭配使用。 有关详细信息,请参阅 arXiv 站点上的 Segment Anything。
VIT_H—预配置的 Segment Anything Model (SAM) 将与巨大的神经网络大小搭配使用。 这是最大大小。 有关详细信息,请参阅 arXiv 站点上的 Segment Anything。
WIDE_RESNET50—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,深度为 50 个图层。 其架构与 ResNET 相同,但是通道更多。
WIDE_RESNET50_2—预先配置的模型将是在 Imagenet 数据集上训练的卷积神经网络,深度为 50 个图层。 其通道容量是 Wide ResNet-50 的两倍。
|
String
|
|
pretrained_model
(可选)
|
将用于微调新模型的预训练模型。 输入为 Esri 模型定义文件 (.emd) 或深度学习包文件 (.dlpk)。
可以对具有相似类的预训练模型进行微调以适应新模型。 预训练模型必须已使用将用于训练新模型的相同模型类型和骨干模型进行了训练。 仅支持使用 ArcGIS 训练的模型进行微调。
|
File
|
|
validation_percentage
(可选)
|
将用于验证模型的训练样本的百分比。 默认值为 10。
|
Double
|
|
stop_training
(可选)
|
指定是否将实施提前停止。
|
Boolean
|
|
freeze
(可选)
|
指定是否冻结预训练模型中的骨干图层,以使权重和偏差保持原始设计。
|
Boolean
|
|
augmentation
(可选)
|
指定要使用的数据增强类型。
数据增强方法使用现有数据创建经过修改的数据集副本,实现人为增加训练集合。
DEFAULT—将使用默认的数据增强方法和值。默认的数据增强方法包括 crop、dihedral_affine、brightness、contrast 和 zoom。 这些默认值通常适用于卫星影像。
NONE—将不会使用数据增强。
CUSTOM—将使用 augmentation_parameters 参数指定数据增强值。 该方法可直接控制 crop、rotate、brightness、contrast 和 zoom 变换。
FILE—将使用 transforms.json 文件指定用于训练和验证数据集数据增强的 Fastai 变换,该文件位于训练数据所在的文件夹中。有关不同变换的详细信息,请参阅 fastai 网站中的 vision 变换。
|
String
|
|
augmentation_parameters
[augmentation_parameters,...]
(可选)
|
在增强参数中指定每个变换对应的值。
rotate—影像将按概率 (p) 进行随机旋转(以度为单位)。 如果旋转角度是一个范围 (a,b),将在 a 和 b 之间均匀随机分配一个值。 默认值为 30.0; 0.5。
brightness—影像亮度将根据变化值随机调整,概率为 (p)。 变化为 0 时会将影像转换为最暗,变化为 1 时会将影像转换为最亮。 变化为 0.5 时不会调整亮度。 如果变化是一个范围 (a,b),增强方法将在 a 和 b 之间均匀随机分配一个值。 默认值为 (0.4,0.6); 1.0。
contrast—影像对比度将根据比例值随机调整,概率为 (p)。 比例为 0 时会将影像转换为灰度,比例大于 1 时会将影像转换为超级对比度。 比例为 1 时不会调整对比度。 如果比例是一个范围 (a,b),增强方法将在 a 和 b 之间均匀随机分配一个值。 默认值为 (0.75, 1.5); 1.0。
zoom—影像将根据比例值随机放大。 缩放值采用 scale(a,b); p 形式。 默认值为 (1.0, 1.2); 1.0,其中 p 为概率。 仅当比例大于 1.0 时,才会在影像上进行放大。 如果比例是一个范围 (a,b),将在 a 和 b 之间均匀随机分配一个值。
crop—将随机裁剪影像。 裁剪值采用 size;p;row_pct;col_pct 形式,其中 p 为概率。 位置根据 (col_pct, row_pct), 确定,其中 col_pct 和 row_pct 在 0 和 1 之间进行归一化。 如果 col_pct 或 row_pct 是一个范围 (a,b),将在 a 和 b 之间均匀分配一个值。 默认值为 chip_size;1.0; (0, 1); (0, 1),其中 224 为默认影像片大小。
值表列:
|
Value Table
|
|
chip_size
(可选)
|
将用于训练模型的影像大小。 影像将裁剪为指定的影像片大小。
默认影像片大小将为训练数据的切片大小。 如果 x- 和 y- 切片大小不同,则会使用较小的值作为默认影像片大小。 影像片大小应小于输入文件夹中所有影像的最小 x- 或 y- 切片大小。
|
Long
|
|
resize_to
(可选)
|
调整影像片大小。 在调整影像片大小后,将裁剪影像片大小的像素块,以用于训练。 该参数将仅应用于对象检测 (PASCAL VOC)、对象分类(已标注切片)和超分辨率数据。
大小调整值通常为影像片大小值的一半。 如果此大小调整值小于影像片大小值,则将使用大小调整值创建像素块进行训练。
|
String
|
|
weight_init_scheme
(可选)
|
指定要用于为图层初始化权重的方案。
要使用多光谱数据训练模型,模型必须容纳不同类型的可用波段。 为此,需要重新初始化模型中的第一个图层。
仅当在模型中使用多光谱影像时,此参数才适用。
RANDOM—随机权重将针对非 RGB 波段进行初始化,而预培训权重将为 RGB 波段保留。 这是默认设置。
RED_BAND—与预训练模型图层中的红色波段对应的权重将针对非 RGB 波段进行克隆,而预训练权重将为 RGB 波段保留。
ALL_RANDOM—随机权重将针对 RGB 波段以及非 RGB 波段进行初始化。 此选项仅适用于多光谱影像。
|
String
|
|
monitor
(可选)
|
指定在检查点设置和提前停止时要监控的指标。
VALID_LOSS—将监控验证损失。 如果验证损失不再发生明显变化,则模型将停止。 这是默认设置。
AVERAGE_PRECISION—将监控每个阈值处的加权精度均值。 如果此值不再发生明显变化,则模型将停止。
ACCURACY—将监控正确预测数与预测总数之比。 如果此值不再发生明显变化,则模型将停止。
F1_SCORE—将监控模型的精确率和召回率得分组合。 如果此值不再发生明显变化,则模型将停止。
MIOU—将监控测试数据集的所有影像中已分割对象的交并比平均值。 如果此值不再发生明显变化,则模型将停止。
DICE—将使用 Dice 指标监控模型性能。 如果此值不再发生明显变化,则模型将停止。该值范围可以介于 0 到 1 之间。 值 1 表示验证数据与训练数据之间像素完全匹配。
PRECISION—将监控衡量模型在将样本分类为正样本时的准确性的精确率。 如果此值不再发生明显变化,则模型将停止。精确率为正确分类的正样本数与已分类样本总数(包括正确或错误)之比。
RECALL—将监控衡量模型检测正样本的能力的召回率。 如果此值不再发生明显变化,则模型将停止。 召回率越高,检测到的正样本越多。 召回率值为正确分类的正样本数与正样本总数之比。
CORPUS_BLEU—将监控 Corpus bleu 得分。 如果此值不再发生明显变化,则模型将停止。此分数用于计算多个句子的准确度,例如段落或文档。
MULTI_LABEL_FBETA—将监控精确率和召回率的加权调和均值。 如果此值不再发生明显变化,则模型将停止。这通常称为 F-beta 分数。
|
String
|
|
tensorboard
(可选)
|
指定工具训练时是否启用 Tensorboard 指标。 可以使用工具消息中的 URL 访问 Tensorboard。
该参数仅支持以下模型:CycleGAN、DeepLab、Faster RCNN、Feature Classifier、Image Captioner、Mask RCNN、Multi-Task Road Extractor、Pix2Pix、PSPNet Classifier、RetinaNet、Single-Shot Detector、SuperResolution 和 U-Net Classifier。
|
Boolean
|
派生输出
|
名称
|
说明
|
数据类型
|
|
out_model_file
|
输出已训练模型文件。
|
File
|
代码示例
TrainDeepLearningModel 示例 1(Python 窗口)
此示例利用了使用预训练模型的迁移学习。
import arcpy
arcpy.env.workspace = r"C:\Data\DL.gdb"
arcpy.ia.TrainDeepLearningModel("Labeled_RoadImageChips",
"TransferLearning_UnsurfacedRoads", 500, "", 2, None, None, "",
r"C:\data\PreTrainedModels\RoadsExtraction_NorthAmerica.dlpk",
10, "STOP_TRAINING", "UNFREEZE_MODEL", "DEFAULT", None, 224, "",
"", "VALID_LOSS")
TrainDeepLearningModel 示例 2(独立脚本)
本示例使用 SSD 方法来训练对象检测模型。
# Import system modules
import arcpy
from arcpy.ia import *
# Set local variables
in_folder=r"C:\DL_models\training\Trees"
out_folder=r"C:\DL_models\model\Trees_DL1"
max_epochs=20
model_type="SSD"
batch_size=8
arguments="grids #;zooms 1.0;ratios '[1.0, 1.0]';drop 0.3;bias -0.4;focal_loss False;location_loss_factor #;backend pytorch"
learning_rate=None
backbone_model="VGG19"
pretrained_model=None
validation_percent=10
stop_training="STOP_TRAINING"
freeze="FREEZE_MODEL"
augmentation="DEFAULT"
augmentation_parameters=None
chip_size=224
resize_to=""
weight_init_scheme=""
monitor="VALID_LOSS"
tensorboard="ENABLE_TENSORBOARD"
# Run
arcpy.ia.TrainDeepLearningModel(in_folder, out_folder, max_epochs,
model_type, batch_size, arguments, learning_rate, backbone_model,
pretrained_model, validation_percent, stop_training, freeze,
augmentation, augmentation_parameters, chip_size, resize_to,
weight_init_scheme, monitor, tensorboard)