Тренировать модель глубокого обучения (Image Analyst)

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

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

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

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

  • Этот инструмент тренирует модель глубокого обучения с использованием сред глубокого обучения.

  • Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS Pro, см. раздел Установка сред глубокого обучения для ArcGIS.

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

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

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

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

    • ConnectNet
    • Классификатор пространственных объектов
    • MaskRCNN
    • Multi Task Road Extractor
    • Single Shot Detector
    • U-Net

    Чтобы использовать определенный графический процессор, используйте параметр среды GPU ID.

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

  • Задайте преобразования fastai для увеличения обучающих наборов данных и наборов данных проверки с помощью файла transforms.json, который находится в той же папке, что и обучающие данные. Ниже приведен пример файла transforms.json:

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

    
    {
        "Training": {
            "rotate": {
                "degrees": 30,
                "p": 0.5
            },
            "crop": {
                "size": 224,
                "p": 1,
                "row_pct": "0, 1",
                "col_pct": "0, 1"
            },
            "brightness": {
                "change": "0.4, 0.6"
            },
            "contrast": {
                "scale": "1.0, 1.5"
            },
            "rand_zoom": {
                "scale": "1, 1.2"
            }
        },
        "Validation": {
            "crop": {
                "size": 224,
                "p": 1.0,
                "row_pct": 0.5,
                "col_pct": 0.5
            }
        }
    }

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

  • Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение в ArcGIS Pro.

Параметры

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

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

При соблюдении всех следующих условий поддерживаются несколько входных папок:

  • Формат метаданных должен быть классифицированными листами, листами с метками, листами с несколькими метками, классами визуальных объектов Pascal или масками RCNN.
  • Все обучающие данные должны иметь одинаковый формат метаданных.
  • Все обучающие данные должны иметь одинаковое количество каналов.
  • Все обучающие данные должны иметь одинаковый размер листа.

Folder
Выходная папка

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

Folder
Максимальное число периодов времени
(Дополнительный)

Максимальное количество периодов времени, для которых будет обучаться модель. Максимальный период времени, равный единице, означает, что набор данных будет передаваться вперед и назад через нейронную сеть один раз. Значение по умолчанию равно 20.

Long
Тип модели
(Дополнительный)

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

  • Single Shot Detector (выявление объектов)Для обучения модели будет использоваться архитектура Single Shot Detector (SSD). SSD используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют формат метаданных Pascal Visual Object Classes.
  • U-Net (классификация пикселов)Для обучения модели будет использоваться архитектура U-Net. U-Net используется для классификации пикселов.
  • Классификатор объектов (классификация объектов)Для обучения модели будет использоваться архитектура Классификатор объектов. Классификатор объектов используется для классификации объектов или изображений.
  • Pyramid Scene Parsing Network (классификация пикселов)Для обучения модели будет использоваться архитектура Pyramid Scene Parsing Network (PSPNET). PSPNET используется для классификации пикселов.
  • RetinaNet (выявление объектов)Для обучения модели будет использоваться архитектура RetinaNet. RetinaNet используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют формат метаданных Pascal Visual Object Classes.
  • MaskRCNN (выявление объектов)Для обучения модели будет использоваться архитектура MaskRCNN. MaskRCNN используется для обнаружения объектов. Этот подход используется, например, для сегментации, которая представляет собой точное выделение объектов на изображении. Этот тип модели можно использовать для обнаружения контуров зданий. Он использует формат метаданных MaskRCNN для входных обучающих данных. Значения класса для входных обучающих данных должны начинаться с 1. Этот тип модели можно обучить только с помощью графического процессора с поддержкой CUDA.
  • YOLOv3 (выявление объектов)Для обучения модели будет использоваться архитектура YOLOv3. YOLOv3 используется для обнаружения объектов.
  • DeepLabV3 (классификация пикселов)Для обучения модели будет использоваться архитектура DeepLabV3. DeepLab используется для классификации пикселов.
  • FasterRCNN (классификация объектов)Для обучения модели будет использоваться архитектура FasterRCNN. FasterRCNN используется для обнаружения объектов.
  • BDCN Edge Detector (Классификация пикселов)Для обучения модели будет использоваться архитектура двунаправленной каскадной сети (BDCN). BDCN Edge Detector используется для классификации пикселов. Этот подход полезен для улучшения возможностей обнаружения ребер объектов в разных масштабах.
  • HED Edge Detector (Классификация пикселов)Для обучения модели будет использоваться архитектура Holistically-Nested Edge Detection (HED). HED Edge Detector используется для классификации пикселов. Этот подход полезен для обнаружения ребер и границ объектов.
  • Multi Task Road Extractor (Классификация пикселов)Для обучения модели будет использоваться архитектура Multi Task Road Extractor. Multi Task Road Extractor используется для классификации пикселов. Этот подход полезен для извлечения дорожной сети из космических снимков.
  • ConnectNet (Классификация пикселов)Для обучения модели будет использоваться архитектура ConnectNet. ConnectNet используется для классификации пикселов. Этот подход полезен для извлечения дорожной сети из космических снимков.
  • Pix2Pix (Преобразование изображения)Для обучения модели будет использоваться архитектура Pix2Pix. Pix2Pix используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • CycleGAN (Преобразование изображения)Для обучения модели будет использоваться архитектура CycleGAN. CycleGAN используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Этот подход уникален тем, что обучаемые изображения не должны перекрываться. Входные обучающие данные для этого типа модели используют формат метаданных CycleGAN.
  • Super-resolution (Преобразование изображения)Для обучения модели будет использоваться архитектура Super-resolution. Super-resolution используется для преобразования изображения в изображение. Этот подход создает объект модели, который увеличивает разрешение и улучшает качество изображений. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • Change detector (Классификация пикселов)Для обучения модели будет использоваться архитектура Change detector. Change detector используется для классификации пикселов. Этот подход создает объект модели, который использует два пространственно-временных изображения для создания классифицированного растра изменений. Входные обучающие данные для этого типа модели используют формат метаданных Классифицированные листы.
  • Image captioner (Преобразование изображения)Для обучения модели будет использоваться архитектура Image captioner. Image captioner используется для перевода изображения в текст. Этот подход создает модель, которая создает текстовые подписи к изображению.
  • Siam Mask (Отслеживание объектов)Для обучения модели будет использоваться архитектура Siam Mask. Siam Mask используется для обнаружения объектов в видео. Модель обучается с использованием кадров видео и определяет классы и ограничивающие рамки объектов в каждом кадре. Входные обучающие данные для этого типа модели используют формат метаданных MaskRCNN.
  • MMDetection (Выявление объекта)Для обучения модели будет использоваться архитектура MMDetection. MMDetection используется для обнаружения объектов. Поддерживаемые форматы метаданных: прямоугольники класса визуальных объектов Pascal и прямоугольники KITTI.
  • MMSegmentation (Классификация пикселов)Для обучения модели будет использоваться архитектура MMSegmentation. MMSegmentation используется для классификации пикселов. Поддерживаемый формат метаданных — Классифицированные листы.
  • Deep Sort (Отслеживание объектов)Для обучения модели будет использоваться архитектура Deep Sort. Deep Sort используется для обнаружения объектов в видео. Модель обучается с использованием кадров видео и определяет классы и ограничивающие рамки объектов в каждом кадре. Входные обучающие данные для этого типа модели используют формат метаданных Imagenet. While Siam Mask полезен при отслеживании объекта, а Deep Sort полезен при обучении модели отслеживанию нескольких объектов.
  • Pix2PixHD (Преобразование изображения)Для обучения модели будет использоваться архитектура Pix2PixHD. Pix2PixHD используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • MaX-DeepLab (Паноптическая сегментация).Для обучения модели будет использоваться архитектура MaX-DeepLab. MaX-DeepLab используется для паноптической сегментации. Этот подход создает объект модели, который создает изображения и объекты. Входные обучающие данные для этого типа модели используют формат метаданных с паноптической сегментацией.
  • DETReg (выявление объектов)Для обучения модели будет использоваться архитектура DETReg. DETReg используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют Pascal Visual Object Classes. Этот тип модели требует значительных ресурсов GPU; рекомендуется выделить GPU с не менее 16 ГБ памяти для корректного запуска.
  • PSETAE (Классификация пикселов)Для обучения модели классификации временных рядов будет использоваться Архитектура Pixel-Set Encoders и Temporal Self-Attention (PSETAE). PSETAE используется для классификации пикселов. Предварительные данные, используемые для этого метода, являются многомерными данными.
String
Размер пакета
(Дополнительный)

Количество обучающих выборок, которые будут обрабатываться для обучения за один раз.

Увеличение размера пакета может улучшить производительность инструмента, но при этом увеличение размера пакета приводит к расходованию большего объема памяти.

Если для пакета заданного размера недостаточно памяти графического процессора, попробуйте установить и использовать оптимальный размер пакета. Если возникает ошибка нехватки памяти, используйте меньший размер пакета.

Long
Аргументы модели
(Дополнительный)

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

Более подробную информацию о том, какие аргументы доступны для каждого типа модели, см. в разделе Аргументы глубокого обучения.

  • attention_type — определяет тип модуля. Варианты модуля: PAM (Pyramid Attention Module) или BAM (Basic Attention Module). По умолчанию PAM.
  • chip_size — Размер изображения, используемый для обучения модели. Модели всех типов поддерживают аргумент chip_size, представляющий собой размер чипа (кусочка) изображения обучающей выборки. Изображения обрезаются до указанного размера кусочка. Если размер изображения меньше размера кусочка, используется размер изображения. Размер по умолчанию 224 пиксела.
  • class_balancing — указывает, будет ли обратная кросс-энтропийная потеря сбалансирована с частотой пикселов на класс. По умолчанию False.
  • decode_params — словарь, который определяет, как будет работать Image captioner. Значение по умолчанию равно {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. Аргумент decode_params состоит из следующих параметров:
    • embed_size — Размер встраивания. По умолчанию в нейронной сети 100 слоев.
    • hidden_size — Размер скрытого слоя. По умолчанию в нейронной сети 100 слоев.
    • attention_size — Размер промежуточного рассматриваемого слоя. По умолчанию в нейронной сети 100 слоев.
    • teacher_forcing — Вероятность усиления учителем. Teacher forcing — это стратегия обучения рекуррентных нейронных сетей. Она использует выходные данные модели из предыдущего временного шага в качестве входных данных вместо предыдущих выходных данных во время обратной передачи ошибки обучения. Допустимый диапазон от 0.0 до 1.0. Значение по умолчанию равно 1.
    • dropout — Вероятность прореживания. Допустимый диапазон от 0.0 до 1.0. Значение по умолчанию равно 0.1.
    • pretrained_emb — Задает предварительно обученный флаг встраивания. Если True, будет использоваться быстрое встраивание текста. Если False, не будет использоваться предварительно обученное встраивание текста. По умолчанию False.
  • focal_loss — указывает, будут ли использоваться фокальные потери. По умолчанию False.
  • gaussian_thresh — Порог Гаусса, который задает требуемую ширину дороги. Допустимый диапазон от 0.0 до 1.0. По умолчанию 0.76.
  • grids — количество сеток, на которые будет разбито изображение для обработки. Например, значение аргумента равным 4 означает, что изображение будет разделено на 16 ячеек (4 x 4). Если значение не задано, оптимальное значение сетки будет рассчитано на основе входных изображений.
  • ignore_classes – Список значений классов, при которых в модели не будет потерь.
  • model — опорная модель, используемая для обучения модели. Доступные опорные модели зависят от значения параметра Тип модели. По умолчанию для MMDetection – cascade_rcnn. По умолчанию для MMSegmentation – deeplabv3.
  • model_weight — определяет, использовать ли веса предварительно обученной модели. По умолчанию False. Значением также может быть путь к файлу конфигурации, содержащему веса модели из репозитория MMDetection или репозитория MMSegmentation.
  • monitor — указывает, какую метрику следует отслеживать во время проверки и ранней остановки. Доступные метрики зависят от значения параметра Тип модели. По умолчанию valid_loss.
  • mtl_model — Задает тип архитектуры, который будет использоваться для создания модели. Возможные варианты linknet или hourglass для нейронных архитектур на основе linknet или hourglass соответственно. По умолчанию hourglass.
  • orient_bin_size — Размер бина для углов ориентации. Значение по умолчанию равно 20.
  • orient_theta — Ширина маски ориентации. Значение по умолчанию - 8.
  • pyramid_sizes — количество и размер слоев свертки, которые должны применяться к различным субрегионам. По умолчанию [1,2,3,6]. Аргумент относится к модели Pyramid Scene Parsing Network.
  • ratios — список отношений сторон, используемых для рамок привязки. При обнаружении объекта рамка привязки представляет идеальное местоположение, форму и размер прогнозируемого объекта. Например, задание для этого аргумента [1.0,1.0], [1.0, 0.5] означает, что рамка якоря - это квадрат (1:1) или прямоугольник, горизонтальная сторона которого в два раза меньше вертикальной (1:0.5). По умолчанию для RetinaNet – [0.5,1,2]. По умолчанию для Single Shot Detector – [1.0, 1.0].
  • scales — количество уровней масштабирования, на которые каждая ячейка будет увеличена или уменьшена. По умолчанию [1, 0.8, 0.63].
  • use_net — указывает, будет ли использоваться декодер U-Net для восстановления данных после завершения формирования пула пирамидных слоев. Значением по умолчанию является True. Аргумент относится к модели Pyramid Scene Parsing Network.
  • zooms — количество уровней масштабирования, на которое каждая ячейка сетки будет увеличена или уменьшена. Установка для этого аргумента значения 1 означает, что все ячейки сетки останутся в том же размере или уровне масштабирования. Уровень масштабирования 2 означает, что все ячейки сетки станут в два раза больше (увеличены на 100 процентов). Предоставление списка уровней масштабирования означает, что все ячейки сетки будут масштабироваться с использованием всех значений в списке. Значение по умолчанию равно 1.
Value Table
Скорость обучения
(Дополнительный)

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

Double
Опорная модель
(Дополнительный)

Указывает предварительно настроенную нейронную сеть, которая будет использоваться в качестве архитектуры для обучения новой модели. Этот метод известен как Трансферное обучение.

Кроме того, поддерживаемые нейронные сети свертки из моделей изображений PyTorch (timm) можно указать, используя timm в качестве префикса, например, timm:resnet31 , timm:inception_v4 , timm:efficientnet_b3 и т.д.

  • DenseNet-121Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 121 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DenseNet-161Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 161 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DenseNet-169Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 169 слоев. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DenseNet-201Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 201 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • MobileNet версия 2Предварительно настроенная модель будет обучаться на базе данных Imagenet, имеет глубину 54 слоя и предназначена для вычислений на периферийных устройствах, поскольку использует меньше памяти.
  • ResNet-18Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более миллиона изображений и имеющем 18 слоев в глубину.
  • ResNet-34Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 34 слоя в глубину. Это значение по умолчанию
  • ResNet-50Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 50 слоев в глубину.
  • ResNet-101Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 101 слой в глубину.
  • ResNet-152Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 152 слоя в глубину.
  • VGG-11Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 11 слоев в глубину.
  • VGG-11 с пакетной нормализациейПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 11 слоев.
  • VGG-13Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 13 слоев в глубину.
  • VGG-13 с пакетной нормализациейПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 13 слоев.
  • VGG-16Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 16 слоев в глубину.
  • VGG-16 с пакетной нормализациейПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 16 слоев.
  • VGG-19Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 19 слоев в глубину.
  • VGG-19 с пакетной нормализациейПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 19 слоев.
  • DarkNet-53Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет 53 слоя в глубину.
  • Reid_v1Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который используется для отслеживания объектов.
  • Reid_v2Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который используется для отслеживания объектов.
  • ResNeXt-50Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, и иметь глубину 50 слоев. Это однородная нейронная сеть, которая уменьшает количество гиперпараметров, необходимых для обычной ResNet.
  • Wide ResNet-50Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, и иметь глубину 50 слоев. Она имеет ту же архитектуру, что и ResNET, но с большим количеством каналов.
String
Предварительно обученная модель
(Дополнительный)

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

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

File
Проверка %
(Дополнительный)

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

Double
Завершить, когда модель перестанет улучшаться
(Дополнительный)

Указывает, будет ли реализована ранняя остановка.

  • Отмечено — будет реализована ранняя остановка, и обучение модели остановится, когда модель перестанет улучшаться, независимо от указанного значения параметра Максимальное число периодов времени. Это значение по умолчанию
  • Не отмечено — ранняя остановка не будет реализована, и обучение модели будет продолжаться до тех пор, пока не будет достигнуто значение параметра Максимальное число периодов времени.
Boolean
Закрепить модель
(Дополнительный)

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

  • Отмечено — опорные слои будут закреплены, а предопределенные веса и смещения не будут изменены в параметре Опорная модель. Это значение по умолчанию
  • Не отмечено — опорные слои не будут закреплены, а веса и смещения параметра Опорная модель могут быть изменены для соответствия обучающим выборкам. Это требует больше времени для обработки, но обычно дает лучшие результаты.

Boolean
Увеличение данных
(Дополнительный)

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

Увеличение данных — это метод искусственного увеличения обучающего набора путем создания модифицированных копий набора данных с использованием существующих данных.

  • По умолчаниюБудут использоваться методы и значения увеличения данных по умолчанию.Включенные по умолчанию методы увеличения данных: crop, dihedral_affine, brightness, contrast и zoom. Эти значения по умолчанию обычно хорошо подходят для спутниковых изображений.
  • НетУвеличение данных использоваться не будет.
  • ПользовательскиеЗначения увеличения данных будут заданы с помощью параметра Параметры увеличения.
  • ФайлПреобразования fastai для увеличения обучающих наборов данных и наборов данных проверки будут заданы с помощью файла transforms.json, который находится в той же папке, что и обучающие данные.Для получения дополнительной информации о различных преобразованиях см. vision transforms на сайте fastai.
String
Параметры увеличения
(Дополнительный)

Задает значение для каждого преобразования в параметре увеличения.

  • 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
Размер чипа
(Дополнительный)

Размер изображения для обучения модели. Изображения будут обрезаны до указанного размера чипа. Если размер изображения меньше значения параметра, будет использоваться размер изображения. Значение по умолчанию 224 пиксела.

Long
Изменить размер до
(Дополнительный)

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

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

String
Схема инициализации весов
(Дополнительный)

Задает схему, в которой будут инициализироваться веса для слоя.

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

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

  • ПроизвольноСлучайные веса будут инициализированы для каналов, отличных от RGB, а предварительно обученные веса будут сохранены для каналов RGB. Это значение по умолчанию
  • Красный каналВеса, соответствующие красному каналу из слоя предварительно обученной модели, будут клонированы для каналов, отличных от RGB, а предварительно обученные веса будут сохранены для каналов RGB.
  • Все произвольноСлучайные веса будут инициализированы как для каналов RGB, так и для каналов, отличных от RGB. Эта опция применима только к мультиспектральным изображениям.
String
Мониторинг метрик
(Дополнительный)

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

  • Потери проверкиБудут отслеживаться потери проверки. Когда потери проверки перестанут существенно изменяться, модель остановится. Это значение по умолчанию
  • Средняя точностьБудет контролироваться средневзвешенное значение точности на каждом пороге. Когда это значение перестанет существенно изменяться, модель остановится.
  • КорректностьБудет отслеживаться соотношение количества правильных прогнозов к общему количеству прогнозов. Когда это значение перестанет существенно изменяться, модель остановится.
  • F1-оценкаБудет отслеживаться сочетание точности и оценки откликов модели. Когда это значение перестанет существенно изменяться, модель остановится.
  • MIoUБудет отслеживаться среднее значение между пересечением и объединением (IoU) сегментированных объектов по всем изображениям тестового набора данных. Когда это значение перестанет существенно изменяться, модель остановится.
  • НарезатьПроизводительность модели будет отслеживаться с помощью метрики Dice. Когда это значение перестанет существенно изменяться, модель остановится.Это значение может варьироваться от 0 до 1. Значение 1 соответствует идеальному совпадению пикселов между данными проверки и данными обучения.
  • ТочностьБудет отслеживаться точность, которая измеряет точность модели при классификации образца как положительного. Когда это значение перестанет существенно изменяться, модель остановится.Точность – это соотношение между количеством правильно классифицированных положительных образцов и общим количеством классифицированных образцов (правильно или неправильно).
  • ПолнотаБудет отслеживаться отклик, который измеряет способность модели обнаруживать положительные образцы. Когда это значение перестанет существенно изменяться, модель остановится.Чем выше отклик, тем больше положительных образцов обнаруживается. Значение отклика представляет собой соотношение между количеством положительных образцов, правильно классифицированных как положительные, и общим количеством положительных образцов.
  • Corpus bleuБудет отслеживаться показатель Corpus blue. Когда это значение перестанет существенно изменяться, модель остановится.Эта оценка используется для расчета точности нескольких предложений, таких как абзац или документ.
  • Multi label F-betaБудет отслеживаться средневзвешенное гармоническое значение точности и отклика. Когда это значение перестанет существенно изменяться, модель остановится.Это часто называют показателем F-бета.
String

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

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

Выходной файл обученной модели.

File

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})
ИмяОписаниеТип данных
in_folder
[in_folder,...]

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

При соблюдении всех следующих условий поддерживаются несколько входных папок:

  • Формат метаданных должен быть классифицированными листами, листами с метками, листами с несколькими метками, классами визуальных объектов Pascal или масками RCNN.
  • Все обучающие данные должны иметь одинаковый формат метаданных.
  • Все обучающие данные должны иметь одинаковое количество каналов.
  • Все обучающие данные должны иметь одинаковый размер листа.

Folder
out_folder

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

Folder
max_epochs
(Дополнительный)

Максимальное количество периодов времени, для которых будет обучаться модель. Максимальный период времени, равный единице, означает, что набор данных будет передаваться вперед и назад через нейронную сеть один раз. Значение по умолчанию равно 20.

Long
model_type
(Дополнительный)

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

  • SSDДля обучения модели будет использоваться архитектура Single Shot Detector (SSD). SSD используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют формат метаданных Pascal Visual Object Classes.
  • UNETДля обучения модели будет использоваться архитектура U-Net. U-Net используется для классификации пикселов.
  • FEATURE_CLASSIFIERДля обучения модели будет использоваться архитектура Классификатор объектов. Классификатор объектов используется для классификации объектов или изображений.
  • PSPNETДля обучения модели будет использоваться архитектура Pyramid Scene Parsing Network (PSPNET). PSPNET используется для классификации пикселов.
  • RETINANETДля обучения модели будет использоваться архитектура RetinaNet. RetinaNet используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют формат метаданных Pascal Visual Object Classes.
  • MASKRCNNДля обучения модели будет использоваться архитектура MaskRCNN. MaskRCNN используется для обнаружения объектов. Этот подход используется, например, для сегментации, которая представляет собой точное выделение объектов на изображении. Этот тип модели можно использовать для обнаружения контуров зданий. Он использует формат метаданных MaskRCNN для входных обучающих данных. Значения класса для входных обучающих данных должны начинаться с 1. Этот тип модели можно обучить только с помощью графического процессора с поддержкой CUDA.
  • YOLOV3Для обучения модели будет использоваться архитектура YOLOv3. YOLOv3 используется для обнаружения объектов.
  • DEEPLABДля обучения модели будет использоваться архитектура DeepLabV3. DeepLab используется для классификации пикселов.
  • FASTERRCNNДля обучения модели будет использоваться архитектура FasterRCNN. FasterRCNN используется для обнаружения объектов.
  • BDCN_EDGEDETECTORДля обучения модели будет использоваться архитектура двунаправленной каскадной сети (BDCN). BDCN Edge Detector используется для классификации пикселов. Этот подход полезен для улучшения возможностей обнаружения ребер объектов в разных масштабах.
  • HED_EDGEDETECTORДля обучения модели будет использоваться архитектура Holistically-Nested Edge Detection (HED). HED Edge Detector используется для классификации пикселов. Этот подход полезен для обнаружения ребер и границ объектов.
  • MULTITASK_ROADEXTRACTORДля обучения модели будет использоваться архитектура Multi Task Road Extractor. Multi Task Road Extractor используется для классификации пикселов. Этот подход полезен для извлечения дорожной сети из космических снимков.
  • CONNECTNETДля обучения модели будет использоваться архитектура ConnectNet. ConnectNet используется для классификации пикселов. Этот подход полезен для извлечения дорожной сети из космических снимков.
  • PIX2PIXДля обучения модели будет использоваться архитектура Pix2Pix. Pix2Pix используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • CYCLEGANДля обучения модели будет использоваться архитектура CycleGAN. CycleGAN используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Этот подход уникален тем, что обучаемые изображения не должны перекрываться. Входные обучающие данные для этого типа модели используют формат метаданных CycleGAN.
  • SUPERRESOLUTIONДля обучения модели будет использоваться архитектура Super-resolution. Super-resolution используется для преобразования изображения в изображение. Этот подход создает объект модели, который увеличивает разрешение и улучшает качество изображений. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • CHANGEDETECTORДля обучения модели будет использоваться архитектура Change detector. Change detector используется для классификации пикселов. Этот подход создает объект модели, который использует два пространственно-временных изображения для создания классифицированного растра изменений. Входные обучающие данные для этого типа модели используют формат метаданных Классифицированные листы.
  • IMAGECAPTIONERДля обучения модели будет использоваться архитектура Image captioner. Image captioner используется для перевода изображения в текст. Этот подход создает модель, которая создает текстовые подписи к изображению.
  • SIAMMASKДля обучения модели будет использоваться архитектура Siam Mask. Siam Mask используется для обнаружения объектов в видео. Модель обучается с использованием кадров видео и определяет классы и ограничивающие рамки объектов в каждом кадре. Входные обучающие данные для этого типа модели используют формат метаданных MaskRCNN.
  • MMDETECTIONДля обучения модели будет использоваться архитектура MMDetection. MMDetection используется для обнаружения объектов. Поддерживаемые форматы метаданных: прямоугольники класса визуальных объектов Pascal и прямоугольники KITTI.
  • MMSEGMENTATIONДля обучения модели будет использоваться архитектура MMSegmentation. MMSegmentation используется для классификации пикселов. Поддерживаемый формат метаданных — Классифицированные листы.
  • DEEPSORTДля обучения модели будет использоваться архитектура Deep Sort. Deep Sort используется для обнаружения объектов в видео. Модель обучается с использованием кадров видео и определяет классы и ограничивающие рамки объектов в каждом кадре. Входные обучающие данные для этого типа модели используют формат метаданных Imagenet. While Siam Mask полезен при отслеживании объекта, а Deep Sort полезен при обучении модели отслеживанию нескольких объектов.
  • PIX2PIXHDДля обучения модели будет использоваться архитектура Pix2PixHD. Pix2PixHD используется для преобразования изображения в изображение. Этот подход создает объект модели, который преобразует изображения одного типа в другой. Входные обучающие данные для этого типа модели используют формат метаданных Экспорт листов.
  • MAXDEEPLABДля обучения модели будет использоваться архитектура MaX-DeepLab. MaX-DeepLab используется для паноптической сегментации. Этот подход создает объект модели, который создает изображения и объекты. Входные обучающие данные для этого типа модели используют формат метаданных с паноптической сегментацией.
  • DETREGДля обучения модели будет использоваться архитектура DETReg. DETReg используется для обнаружения объектов. Входные обучающие данные для этого типа модели используют Pascal Visual Object Classes. Этот тип модели требует значительных ресурсов GPU; рекомендуется выделить GPU с не менее 16 ГБ памяти для корректного запуска.
  • PSETAEДля обучения модели классификации временных рядов будет использоваться Архитектура Pixel-Set Encoders и Temporal Self-Attention (PSETAE). PSETAE используется для классификации пикселов. Предварительные данные, используемые для этого метода, являются многомерными данными.
String
batch_size
(Дополнительный)

Количество обучающих выборок, которые будут обрабатываться для обучения за один раз.

Увеличение размера пакета может улучшить производительность инструмента, но при этом увеличение размера пакета приводит к расходованию большего объема памяти.

Если для пакета заданного размера недостаточно памяти графического процессора, попробуйте установить и использовать оптимальный размер пакета. Если возникает ошибка нехватки памяти, используйте меньший размер пакета.

Long
arguments
[arguments,...]
(Дополнительный)

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

Более подробную информацию о том, какие аргументы доступны для каждого типа модели, см. в разделе Аргументы глубокого обучения.

  • attention_type — определяет тип модуля. Варианты модуля: PAM (Pyramid Attention Module) или BAM (Basic Attention Module). По умолчанию – PAM.
  • chip_size — Размер изображения, используемый для обучения модели. Модели всех типов поддерживают аргумент chip_size, представляющий собой размер чипа (кусочка) листа в обучающей выборке. Изображения обрезаются до указанного размера кусочка. Если размер изображения меньше размера кусочка, используется размер изображения. Размер по умолчанию 224 пиксела.
  • CLASS_BALANCING — указывает, будет ли обратная кросс-энтропийная потеря сбалансирована с частотой пикселов на класс. По умолчанию – False.
  • decode_params — словарь, который определяет, как будет работать Image captioner. Значение по умолчанию {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. Аргумент decode_params состоит из следующих параметров:
    • embed_size — Размер встраивания. По умолчанию в нейронной сети 100 слоев.
    • hidden_size — Размер скрытого слоя. По умолчанию в нейронной сети 100 слоев.
    • attention_size — Размер промежуточного рассматриваемого слоя. По умолчанию в нейронной сети 100 слоев.
    • teacher_forcing — Вероятность усиления учителем. Teacher forcing — это стратегия обучения рекуррентных нейронных сетей. Она использует выходные данные модели из предыдущего временного шага в качестве входных данных вместо предыдущих выходных данных во время обратной передачи ошибки обучения. Допустимый диапазон от 0.0 до 1.0. Значение по умолчанию равно 1.
    • dropout — Вероятность прореживания. Допустимый диапазон от 0.0 до 1.0. Значение по умолчанию равно 0.1.
    • pretrained_emb — Задает, будет ли использоваться предварительно обученное встраивание текста. Если True, будет использоваться быстрое встраивание текста. Если False, не будет использоваться предварительно обученное встраивание текста. По умолчанию – False.
  • FOCAL_LOSS — указывает, будут ли использоваться фокальные потери. По умолчанию – False.
  • gaussian_thresh — Порог Гаусса, который задает требуемую ширину дороги. Допустимый диапазон от 0.0 до 1.0. По умолчанию 0.76.
  • grids — количество сеток, на которые будет разбито изображение для обработки. Например, значение аргумента равным 4 означает, что изображение будет разделено на 16 ячеек (4 x 4). Если значение не задано, оптимальное значение сетки будет рассчитано на основе входных изображений.
  • IGNORE_CLASSES – Список значений классов, при которых в модели не будет потерь.
  • MIXUP — определяет, будут ли использоваться приращение микширования и потеря микширования. По умолчанию – False.
  • model — опорная модель, используемая для обучения модели. Доступные опции зависят от значения параметра model_type. По умолчанию для MMDETECTION – cascade_rcnn. По умолчанию для MMSegmentation – deeplabv3.
  • model_weight — определяет, использовать ли веса предварительно обученной модели. По умолчанию – False. Значением также может быть путь к файлу конфигурации, содержащему веса модели из репозитория MMDetection или репозитория MMSegmentation
  • monitor — указывает, какую метрику следует отслеживать во время проверки и ранней остановки. Доступные метрики зависят от значения параметра model_type. По умолчанию – valid_loss.
  • mtl_model — Задает тип архитектуры, который будет использоваться для создания модели. Возможные варианты linknet или hourglass для нейронных архитектур на основе linknet или hourglass соответственно. По умолчанию – hourglass.
  • orient_bin_size — Размер бина для углов ориентации. Значение по умолчанию равно 20.
  • orient_theta — Ширина маски ориентации. Значение по умолчанию - 8.
  • PYRAMID_SIZES — количество и размер слоев свертки, которые должны применяться к различным субрегионам. По умолчанию [1,2,3,6]. Этот аргумент относится к модели PSPNET.
  • ratios — список отношений сторон, используемых для рамок привязки. При обнаружении объекта рамка привязки представляет идеальное местоположение, форму и размер прогнозируемого объекта. Например, задание для этого аргумента [1.0,1.0], [1.0, 0.5] означает, что рамка якоря - это квадрат (1:1) или прямоугольник, горизонтальная сторона которого в два раза меньше вертикальной (1:0.5). По умолчанию для RETINANET – [0.5,1,2]. По умолчанию для r SSD – [1.0, 1.0].
  • SCALES — количество уровней масштабирования, на которые каждая ячейка будет увеличена или уменьшена. По умолчанию [1, 0.8, 0.63].
  • USE_UNET – Задает, будет ли использоваться декодер U-Net для восстановления данных после завершения формирования пирамидного пула. По умолчанию – True. Этот аргумент относится к модели PSPNET.
  • zooms — количество уровней масштабирования, на которое каждая ячейка сетки будет увеличена или уменьшена. Установка для этого аргумента значения 1 означает, что все ячейки сетки останутся в том же размере или уровне масштабирования. Уровень масштабирования 2 означает, что все ячейки сетки станут в два раза больше (увеличены на 100 процентов). Предоставление списка уровней масштабирования означает, что все ячейки сетки будут масштабироваться с использованием всех значений в списке. Значение по умолчанию равно 1.
Value Table
learning_rate
(Дополнительный)

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

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

Указывает предварительно настроенную нейронную сеть, которая будет использоваться в качестве архитектуры для обучения новой модели. Этот метод известен как Трансферное обучение.

  • DENSENET121Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 121 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DENSENET161Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 161 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DENSENET169Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 169 слоев. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • DENSENET201Предварительно настроенная модель будет плотной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет глубину 201 слой. В отличие от ResNET, который объединяет слои с помощью суммирования, DenseNet объединяет слои посредством конкатенации.
  • MOBILENET_V2Предварительно настроенная модель будет обучаться на базе данных Imagenet, имеет глубину 54 слоя и предназначена для вычислений на периферийных устройствах, поскольку использует меньше памяти.
  • RESNET18Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более миллиона изображений и имеющем 18 слоев в глубину.
  • RESNET34Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 34 слоя в глубину. Это значение по умолчанию
  • RESNET50Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 50 слоев в глубину.
  • RESNET101Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 101 слой в глубину.
  • RESNET152Предварительно настроенная модель будет представлять собой остаточную сеть, обученную на наборе данных Imagenet, содержащем более 1 миллиона изображений и имеющем 152 слоя в глубину.
  • VGG11Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 11 слоев в глубину.
  • VGG11_BNПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 11 слоев.
  • VGG13Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 13 слоев в глубину.
  • VGG13_BNПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 13 слоев.
  • VGG16Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 16 слоев в глубину.
  • VGG16_BNПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 16 слоев.
  • VGG19Предварительно сконфигурированная модель будет сверточной нейронной сетью, обученной на наборе данных Imagenet, который содержит более 1 миллиона изображений для классификации изображений на 1000 категорий объектов и имеет 19 слоев в глубину.
  • VGG19_BNПредварительно настроенная модель будет основана на сети VGG, но с пакетной нормализацией, включающей нормализацию каждого слоя в сети. Она обучалась на наборе данных Imagenet и имеет 19 слоев.
  • DARKNET53Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который содержит более 1 миллиона изображений и имеет 53 слоя в глубину.
  • REID_V1Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который используется для отслеживания объектов.
  • REID_V2Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, который используется для отслеживания объектов.
  • RESNEXT50Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, и иметь глубину 50 слоев. Это однородная нейронная сеть, которая уменьшает количество гиперпараметров, необходимых для обычной ResNet.
  • WIDE_RESNET50Предварительно настроенная модель будет представлять собой сверточную нейронную сеть, обученную на наборе данных Imagenet, и иметь глубину 50 слоев. Она имеет ту же архитектуру, что и ResNET, но с большим количеством каналов.

Кроме того, поддерживаемые нейронные сети свертки из моделей изображений PyTorch (timm) можно указать, используя timm в качестве префикса, например, timm:resnet31 , timm:inception_v4 , timm:efficientnet_b3 и т.д.

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

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

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

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

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

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

Указывает, будет ли реализована ранняя остановка.

  • STOP_TRAININGБудет реализована ранняя остановка, и обучение модели остановится, когда модель перестанет улучшаться, независимо от указанного значения параметра max_epochs. Это значение по умолчанию
  • CONTINUE_TRAININGРанняя остановка не будет реализована, и обучение модели будет продолжаться до тех пор, пока не будет достигнуто значение параметра max_epochs.
Boolean
freeze
(Дополнительный)

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

  • FREEZE_MODELОпорные слои будут закреплены, а предопределенные веса и смещения не будут изменены в параметре backbone_model. Это значение по умолчанию
  • UNFREEZE_MODELОпорные слои не будут закреплены, а веса и смещения параметра backbone_model могут быть изменены для соответствия обучающим выборкам. Это требует больше времени для обработки, но обычно дает лучшие результаты.
Boolean
augmentation
(Дополнительный)

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

Увеличение данных — это метод искусственного увеличения обучающего набора путем создания модифицированных копий набора данных с использованием существующих данных.

  • DEFAULTБудут использоваться методы и значения увеличения данных по умолчанию.Включенные по умолчанию методы увеличения данных: crop, dihedral_affine, brightness, contrast и zoom. Эти значения по умолчанию обычно хорошо подходят для спутниковых изображений.
  • NONEУвеличение данных использоваться не будет.
  • CUSTOMЗначения увеличения данных будут заданы с помощью параметра augmentation_parameters.
  • FILEПреобразования fastai для увеличения обучающих наборов данных и наборов данных проверки будут заданы с помощью файла transforms.json, который находится в той же папке, что и обучающие данныеДля получения дополнительной информации о различных преобразованиях см. vision transforms на сайте fastai.
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
(Дополнительный)

Размер изображения для обучения модели. Изображения будут обрезаны до указанного размера чипа. Если размер изображения меньше значения параметра, будет использоваться размер изображения. Значение по умолчанию 224 пиксела.

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Будет отслеживаться среднее значение между пересечением и объединением (IoU) сегментированных объектов по всем изображениям тестового набора данных. Когда это значение перестанет существенно изменяться, модель остановится.
  • DICEПроизводительность модели будет отслеживаться с помощью метрики Dice. Когда это значение перестанет существенно изменяться, модель остановится.Это значение может варьироваться от 0 до 1. Значение 1 соответствует идеальному совпадению пикселов между данными проверки и данными обучения.
  • PRECISIONБудет отслеживаться точность, которая измеряет точность модели при классификации образца как положительного. Когда это значение перестанет существенно изменяться, модель остановится.Точность – это соотношение между количеством правильно классифицированных положительных образцов и общим количеством классифицированных образцов (правильно или неправильно).
  • RECALLБудет отслеживаться отклик, который измеряет способность модели обнаруживать положительные образцы. Когда это значение перестанет существенно изменяться, модель остановится.Чем выше отклик, тем больше положительных образцов обнаруживается. Значение отклика представляет собой соотношение между количеством положительных образцов, правильно классифицированных как положительные, и общим количеством положительных образцов.
  • CORPUS_BLEUБудет отслеживаться показатель Corpus blue. Когда это значение перестанет существенно изменяться, модель остановится.Эта оценка используется для расчета точности нескольких предложений, таких как абзац или документ.
  • MULTI_LABEL_FBETAБудет отслеживаться средневзвешенное гармоническое значение точности и отклика. Когда это значение перестанет существенно изменяться, модель остановится.Это часто называют показателем F-бета.
String

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

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

Выходной файл обученной модели.

File

Пример кода

TrainDeepLearningModel, пример 1 (окно Python)

В этом примере обучается модель классификации деревьев с использованием подхода U-Net.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Execute 
TrainDeepLearningModel(r"C:\DeepLearning\TrainingData\Roads_FC", 
     r"C:\DeepLearning\Models\Fire", 40, "UNET", 16, "# #", None, 
     "RESNET34", None, 10, "STOP_TRAINING", "FREEZE_MODEL")
TrainDeepLearningModel, пример 2 (автономный скрипт)

В этом примере обучается модель обнаружения объектов с использованием подхода SSD.

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
#Define input parameters
in_folder = "C:\\DeepLearning\\TrainingData\\Cars" 
out_folder = "C:\\Models\\Cars"
max_epochs = 100
model_type = "SSD"
batch_size = 2
arg = "grids '[4, 2, 1]';zooms '[0.7, 1.0, 1.3]';ratios '[[1, 1], [1, 0.5], [0.5, 1]]'"
learning_rate = 0.003
backbone_model = "RESNET34" 
pretrained_model = "C:\\Models\\Pretrained\\vehicles.emd"
validation_percent = 10
stop_training = "STOP_TRAINING"
freeze = "FREEZE_MODEL"


# Execute
TrainDeepLearningModel(in_folder, out_folder, max_epochs, model_type, 
     batch_size, arg, learning_rate, backbone_model, pretrained_model, 
     validation_percent, stop_training, freeze)

Информация о лицензиях

  • Basic: Обязательно Image Analyst
  • Standard: Обязательно Image Analyst
  • Advanced: Обязательно Image Analyst

Связанные разделы