Обучить, используя AutoDL (GeoAI)

Доступно с лицензией Image Analyst.

Краткая информация

Обучает модель глубокого обучения путем создания конвейеров обучения и автоматизации большей части процесса обучения. Это включает в себя увеличение данных, выбор модели, настройку гиперпараметров и уменьшение размера пакета. Его выходные данные включают показатели производительности наилучшей модели на основе обучающих данных, а также пакет обученных моделей глубокого обучения (файл .dlpk), который можно использовать в качестве входных данных для извлечения функций с помощью инструмента Извлечь объекты с использованием модели ИИ для прогнозирования на новых изображениях.

Подробнее об инструменте AutoDL

Использование

  • Необходимо установить подходящую среду глубокого обучения для Python в ArcGIS AllSource.

    Узнайте, как установить среды глубокого обучения для ArcGIS

  • Если вы будете обучать модели в автономной среде, дополнительные сведения см. в разделе Дополнительная установка для автономной среды.

  • Время, необходимое инструменту для создания обученной модели, зависит от следующего:

    • Объем данных, предоставляемых во время обучения
    • Значение для параметра Режим AutoDL
    • Значение для параметра Общее ограничение по времени (часы)

    По умолчанию время для всех режимов установлено на 2 часа. Базовый режим Basic будет обучать выбранные сети на опорной модели по умолчанию в течение заданного времени. Расширенный режим Advanced разделит общее время на два, выполнив оценку модели в первой половине и определив две наиболее эффективные модели для оценки на других опорных моделях во второй половине. Если объем обучаемых данных велик, все выбранные модели могут не быть оценены в течение 2 часов. В таких случаях оптимальной моделью будет считаться модель с наилучшими характеристиками, определенная в течение 2 часов. Затем вы можете либо использовать эту модель, либо повторно запустить инструмент с более высоким значением параметра Общее ограничение по времени (часы).

  • Этот инструмент также можно использовать для точной настройки существующей обученной модели. Например, существующую модель, обученную для легковых автомобилей, можно настроить для обучения модели, идентифицирующей грузовые автомобили.

  • Для запуска этого инструмента требуется компьютер, оснащенный графическим процессором. Если у вас более одного графического процессора, используйте GPU ID в качестве параметра среды.

  • Входные обучающие данные для этого инструмента должны включать папки изображений и меток, созданные с помощью инструмента Экспорт обучающих данных для глубокого обучения.

  • Потенциальные варианты использования инструмента включают в себя модели обнаружения обучающих объектов и классификации пикселей для извлечения таких объектов и характеристик, как контуры здания, бассейны, солнечные панели, классификация растительного покрова и так далее.

  • Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.

Параметры

ПодписьОписаниеТип данных
Входные обучающие данные

Папки, содержащие кусочки изображений, метки и статистику, необходимые для обучения модели. Это результат работы инструмента Экспорт обучающих данных для глубокого обучения. Формат метаданных экспортированных данных должен быть Classified_Tiles, PASCAL_VOC_rectangles или KITTI_rectangles.

Folder
Выходная модель

Выходная обученная модель, которая будет сохранена в виде пакета глубокого обучения (файла .dlpk).

File
Предварительно обученная модель
(Дополнительный)

Предварительно обученная модель, которая будет использоваться для уточнения новой модели. На входе берется файл определения модели Esri (.emd) или файл пакета глубокого обучения (.dlpk).

Предварительно обученная модель с похожими классами может быть уточнена для соответствия новой модели. Предварительно обученная модель должна быть обучена с помощью модели того же типа и опорной модели, которые будут использоваться для обучения новой модели.

File
Общее ограничение по времени (часы)
(Дополнительный)

Общее ограничение по времени в часах, которое потребуется для обучения модели с использованием AutoDL. По умолчанию равно 2 часам.

Double
Режим AutoDL
(Дополнительный)

Определяет режим AutoDL, который будет использоваться, и насколько интенсивным будет поиск AutoDL.

  • BasicБудет использоваться базовый режим basic. Этот режим используется для обучения всех выбранных сетей без настройки гиперпараметров.
  • AdvancedБудет использоваться расширенный режим advanced. Этот режим используется для выполнения настройки гиперпараметров в двух самых производительных моделях.
String
Нейронные сети
(Дополнительный)

Определяет архитектуры, которые будут использоваться для обучения модели.

По умолчанию будут использоваться все сети.

  • SingleShotDetectorДля обучения модели будет использоваться архитектура SingleShotDetector. SingleShotDetector используется для обнаружения объектов.
  • RetinaNetДля обучения модели будет использоваться архитектура RetinaNet. RetinaNet используется для обнаружения объектов.
  • FasterRCNNДля обучения модели будет использоваться архитектура FasterRCNN. FasterRCNN используется для обнаружения объектов.
  • YOLOv3Для обучения модели будет использоваться архитектура YOLOv3. YOLOv3 используется для обнаружения объектов.
  • HRNetДля обучения модели будет использоваться архитектура HRNet. HRNet используется для классификации пикселов.
  • ATSSДля обучения модели будет использоваться архитектура ATSS. ATSS используется для обнаружения объектов.
  • CARAFEДля обучения модели будет использоваться архитектура CARAFE CARAFE используется для обнаружения объектов.
  • CascadeRCNNДля обучения модели будет использоваться архитектура CascadeRCNN. CascadeRCNN используется для обнаружения объектов.
  • CascadeRPNДля обучения модели будет использоваться архитектура CascadeRPN. CascadeRPN используется для обнаружения объектов.
  • DCNДля обучения модели будет использоваться архитектура DCN. DCN используется для обнаружения объектов.
  • DeepLabДля обучения модели будет использоваться архитектура DeepLab. DeepLab используется для классификации пикселов.
  • UnetClassifierДля обучения модели будет использоваться архитектура UnetClassifier. UnetClassifier используется для классификации пикселов.
  • DeepLabV3PlusДля обучения модели будет использоваться архитектура DeepLabV3Plus. DeepLabV3Plus используется для классификации пикселов.
  • PSPNetClassifierДля обучения модели будет использоваться архитектура PSPNetClassifier. PSPNetClassifier используется для классификации пикселов.
  • ANNДля обучения модели будет использоваться архитектура ANN. ANN используется для классификации пикселов.
  • APCNetДля обучения модели будет использоваться архитектура APCNet. APCNet используется для классификации пикселов.
  • CCNetДля обучения модели будет использоваться архитектура CCNet. CCNet используется для классификации пикселов.
  • CGNetДля обучения модели будет использоваться архитектура CGNet CGNet используется для классификации пикселов.
  • DETRegДля обучения модели будет использоваться архитектура DETReg. DETReg используется для обнаружения объектов.
  • DynamicRCNNДля обучения модели будет использоваться архитектура DynamicRCNN. DynamicRCNN используется для обнаружения объектов.
  • EmpiricalAttentionДля обучения модели будет использоваться архитектура EmpiricalAttention. EmpiricalAttention используется для обнаружения объектов.
  • FCOSДля обучения модели будет использоваться архитектура FCOS. FCOS используется для обнаружения объектов.
  • FoveaBoxДля обучения модели будет использоваться архитектура FoveaBox. FoveaBox используется для обнаружения объектов.
  • FSAFДля обучения модели будет использоваться архитектура FSAF. FSAF используется для обнаружения объектов.
  • GHMДля обучения модели будет использоваться архитектура GHM. GHM используется для обнаружения объектов.
  • LibraRCNNДля обучения модели будет использоваться архитектура LibraRCNN. LibraRCNN используется для обнаружения объектов.
  • PaFPNДля обучения модели будет использоваться архитектура PaFPN. PaFPN используется для обнаружения объектов.
  • Res2NetДля обучения модели будет использоваться архитектура Res2Net. Res2Net используется для обнаружения объектов.
  • SABLДля обучения модели будет использоваться архитектура SABL. SABL используется для обнаружения объектов.
  • VFNetДля обучения модели будет использоваться архитектура VFNet. VFNet используется для обнаружения объектов.
  • DMNetДля обучения модели будет использоваться архитектура DMNet. DMNet используется для классификации пикселов.
  • DNLNetДля обучения модели будет использоваться архитектура DNLNet. DNLNet используется для классификации пикселов.
  • FastSCNNДля обучения модели будет использоваться архитектура FastSCNN. FastSCNN используется для классификации пикселов.
  • FCNДля обучения модели будет использоваться архитектура FCN. FCN используется для классификации пикселов.
  • GCNetДля обучения модели будет использоваться архитектура GCNet. GCNet используется для классификации пикселов.
  • MobileNetV2Для обучения модели будет использоваться архитектура MobileNetV2. MobileNetV2 используется для классификации пикселов.
  • NonLocalNetДля обучения модели будет использоваться архитектура NonLocalNet. NonLocalNet используется для классификации пикселов.
  • OCRNetДля обучения модели будет использоваться архитектура OCRNet. OCRNet используется для классификации пикселов.
  • PSANetДля обучения модели будет использоваться архитектура PSANet. PSANet используется для классификации пикселов.
  • SemFPNДля обучения модели будет использоваться архитектура SemFPN. SemFPN используется для классификации пикселов.
  • UperNetДля обучения модели будет использоваться архитектура UperNet. UperNet используется для классификации пикселов.
  • MaskRCNNДля обучения модели будет использоваться архитектура MaskRCNN. MaskRCNN используется для обнаружения объектов.
String
Сохранение оцененных моделей
(Дополнительный)

Определяет, будут ли сохранены все оцененные модели.

  • Отмечено — все оцененные модели будут сохранены.
  • Не отмечено — будет сохранена только наиболее эффективная модель. Используется по умолчанию.
Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Выходной файл модели

Выходной файл модели

File

arcpy.geoai.TrainUsingAutoDL(in_data, out_model, {pretrained_model}, {total_time_limit}, {autodl_mode}, {networks}, {save_evaluated_models})
ИмяОписаниеТип данных
in_data

Папки, содержащие кусочки изображений, метки и статистику, необходимые для обучения модели. Это результат работы инструмента Экспорт обучающих данных для глубокого обучения. Формат метаданных экспортированных данных должен быть Classified_Tiles, PASCAL_VOC_rectangles или KITTI_rectangles.

Folder
out_model

Выходная обученная модель, которая будет сохранена в виде пакета глубокого обучения (файла .dlpk).

File
pretrained_model
(Дополнительный)

Предварительно обученная модель, которая будет использоваться для уточнения новой модели. На входе берется файл определения модели Esri (.emd) или файл пакета глубокого обучения (.dlpk).

Предварительно обученная модель с похожими классами может быть уточнена для соответствия новой модели. Предварительно обученная модель должна быть обучена с помощью модели того же типа и опорной модели, которые будут использоваться для обучения новой модели.

File
total_time_limit
(Дополнительный)

Общее ограничение по времени в часах, которое потребуется для обучения модели с использованием AutoDL. По умолчанию равно 2 часам.

Double
autodl_mode
(Дополнительный)

Определяет режим AutoDL, который будет использоваться, и насколько интенсивным будет поиск AutoDL.

  • BASICБудет использоваться базовый режим basic. Этот режим используется для обучения всех выбранных сетей без настройки гиперпараметров.
  • ADVANCEDБудет использоваться расширенный режим advanced. Этот режим используется для выполнения настройки гиперпараметров в двух самых производительных моделях.
String
networks
[networks,...]
(Дополнительный)

Определяет архитектуры, которые будут использоваться для обучения модели.

  • SingleShotDetectorДля обучения модели будет использоваться архитектура SingleShotDetector. SingleShotDetector используется для обнаружения объектов.
  • RetinaNetДля обучения модели будет использоваться архитектура RetinaNet. RetinaNet используется для обнаружения объектов.
  • FasterRCNNДля обучения модели будет использоваться архитектура FasterRCNN. FasterRCNN используется для обнаружения объектов.
  • YOLOv3Для обучения модели будет использоваться архитектура YOLOv3. YOLOv3 используется для обнаружения объектов.
  • HRNetДля обучения модели будет использоваться архитектура HRNet. HRNet используется для классификации пикселов.
  • ATSSДля обучения модели будет использоваться архитектура ATSS. ATSS используется для обнаружения объектов.
  • CARAFEДля обучения модели будет использоваться архитектура CARAFE CARAFE используется для обнаружения объектов.
  • CascadeRCNNДля обучения модели будет использоваться архитектура CascadeRCNN. CascadeRCNN используется для обнаружения объектов.
  • CascadeRPNДля обучения модели будет использоваться архитектура CascadeRPN. CascadeRPN используется для обнаружения объектов.
  • DCNДля обучения модели будет использоваться архитектура DCN. DCN используется для обнаружения объектов.
  • DeepLabДля обучения модели будет использоваться архитектура DeepLab. DeepLab используется для классификации пикселов.
  • UnetClassifierДля обучения модели будет использоваться архитектура UnetClassifier. UnetClassifier используется для классификации пикселов.
  • DeepLabV3PlusДля обучения модели будет использоваться архитектура DeepLabV3Plus. DeepLabV3Plus используется для классификации пикселов.
  • PSPNetClassifierДля обучения модели будет использоваться архитектура PSPNetClassifier. PSPNetClassifier используется для классификации пикселов.
  • ANNДля обучения модели будет использоваться архитектура ANN. ANN используется для классификации пикселов.
  • APCNetДля обучения модели будет использоваться архитектура APCNet. APCNet используется для классификации пикселов.
  • CCNetДля обучения модели будет использоваться архитектура CCNet. CCNet используется для классификации пикселов.
  • CGNetДля обучения модели будет использоваться архитектура CGNet CGNet используется для классификации пикселов.
  • DETRegДля обучения модели будет использоваться архитектура DETReg. DETReg используется для обнаружения объектов.
  • DynamicRCNNДля обучения модели будет использоваться архитектура DynamicRCNN. DynamicRCNN используется для обнаружения объектов.
  • EmpiricalAttentionДля обучения модели будет использоваться архитектура EmpiricalAttention. EmpiricalAttention используется для обнаружения объектов.
  • FCOSДля обучения модели будет использоваться архитектура FCOS. FCOS используется для обнаружения объектов.
  • FoveaBoxДля обучения модели будет использоваться архитектура FoveaBox. FoveaBox используется для обнаружения объектов.
  • FSAFДля обучения модели будет использоваться архитектура FSAF. FSAF используется для обнаружения объектов.
  • GHMДля обучения модели будет использоваться архитектура GHM. GHM используется для обнаружения объектов.
  • LibraRCNNДля обучения модели будет использоваться архитектура LibraRCNN. LibraRCNN используется для обнаружения объектов.
  • PaFPNДля обучения модели будет использоваться архитектура PaFPN. PaFPN используется для обнаружения объектов.
  • Res2NetДля обучения модели будет использоваться архитектура Res2Net. Res2Net используется для обнаружения объектов.
  • SABLДля обучения модели будет использоваться архитектура SABL. SABL используется для обнаружения объектов.
  • VFNetДля обучения модели будет использоваться архитектура VFNet. VFNet используется для обнаружения объектов.
  • DMNetДля обучения модели будет использоваться архитектура DMNet. DMNet используется для классификации пикселов.
  • DNLNetДля обучения модели будет использоваться архитектура DNLNet. DNLNet используется для классификации пикселов.
  • FastSCNNДля обучения модели будет использоваться архитектура FastSCNN. FastSCNN используется для классификации пикселов.
  • FCNДля обучения модели будет использоваться архитектура FCN. FCN используется для классификации пикселов.
  • GCNetДля обучения модели будет использоваться архитектура GCNet. GCNet используется для классификации пикселов.
  • MobileNetV2Для обучения модели будет использоваться архитектура MobileNetV2. MobileNetV2 используется для классификации пикселов.
  • NonLocalNetДля обучения модели будет использоваться архитектура NonLocalNet. NonLocalNet используется для классификации пикселов.
  • OCRNetДля обучения модели будет использоваться архитектура OCRNet. OCRNet используется для классификации пикселов.
  • PSANetДля обучения модели будет использоваться архитектура PSANet. PSANet используется для классификации пикселов.
  • SemFPNДля обучения модели будет использоваться архитектура SemFPN. SemFPN используется для классификации пикселов.
  • UperNetДля обучения модели будет использоваться архитектура UperNet. UperNet используется для классификации пикселов.
  • MaskRCNNДля обучения модели будет использоваться архитектура MaskRCNN. MaskRCNN используется для обнаружения объектов.

По умолчанию будут использоваться все сети.

String
save_evaluated_models
(Дополнительный)

Определяет, будут ли сохранены все оцененные модели.

  • SAVE_ALL_MODELSВсе оцененные модели будут сохранены.
  • SAVE_BEST_MODELБудет сохранена только наиболее эффективная модель. Используется по умолчанию.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
output_model_file

Выходной файл модели

File

Пример кода

TrainUsingAutoDL (окно Python)

В этом примере показано, как использовать функцию TrainUsingAutoDL.

# Name: TrainUsingAutoDL.py
# Description: Train a deep learning model on imagery data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath = "path_to_training_data" 
out_path = "path_to_trained_model"

out_model = os.path.join(out_path, "mymodel")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")

Параметры среды