Доступно с лицензией Image Analyst.
Сводка
Тренирует модель глубокого обучения с использованием результатов работы инструмента Экспорт обучающих данных для глубокого обучения.
Использование
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS Pro, см. раздел Установка сред глубокого обучения для ArcGIS.
This tool trains using the PyTorch deep learning framework. PyTorch must be installed on your machine to successfully run this tool.
The input training data for this tool must include the images and labels folders that are generated from the Export Training Data For Deep Learning tool.
Для получения информации о требованиях к запуску этого инструмента и возможных с ним проблемах см. FAQ по глубокому обучению.
Дополнительную информацию о глубоком обучении см. в разделе Глубокое обучение в ArcGIS Pro.
Синтаксис
TrainDeepLearningModel(in_folder, out_folder, {max_epochs}, {model_type}, {batch_size}, {arguments}, {learning_rate}, {backbone_model}, {pretrained_model}, {validation_percentage}, {stop_training}, {freeze})
Parameter | Объяснение | Тип данных |
in_folder | The folder containing the image chips, labels, and statistics required to train the model. This is the output from the Export Training Data For Deep Learning tool. To train a model, the input images must be 8-bit rasters with three bands. | Folder |
out_folder | The output folder location that will store the trained model. | Folder |
max_epochs (Дополнительный) | The maximum number of epochs for which the model will be trained. A maximum epoch of one means the dataset will be passed forward and backward through the neural network one time. The default value is 20. | Long |
model_type (Дополнительный) | Specifies the model type to use to train the deep learning model.
| String |
batch_size (Дополнительный) | The number of training samples to be processed for training at one time. The default value is 2. If you have a powerful GPU, this number can be increased to 8, 16, 32, or 64. | Long |
arguments [arguments,...] (Дополнительный) | Аргументы функции определяются в классе функции растра Python. Там перечисляются дополнительные параметры глубокого обучения и аргументы для экспериментов и улучшения, например, порог достоверности для настройки чувствительности. Названия аргументов заполняются при чтении модуля Python. When you choose SSD as the model_type parameter value, the arguments parameter will be populated with the following arguments:
When you choose PSPNET as the model_type parameter value, the arguments parameter will be populated with the following arguments:
When you choose RETINANET as the model_type parameter value, the arguments parameter will be populated with the following arguments:
| Value Table |
learning_rate (Дополнительный) | The rate at which existing information will be overwritten with newly acquired information throughout the training process. If no value is specified, the optimal learning rate will be extracted from the learning curve during the training process. | Double |
backbone_model (Дополнительный) | Specifies the preconfigured neural network to be used as an architecture for training the new model. This method is known as Transfer Learning.
| String |
pretrained_model (Дополнительный) | The pretrained model to be used for fine tune training the new model. The input is an Esri Model Definition file (.emd). A pretrained model with similar classes can be fine-tuned to fit the new model. For example, an existing model that has been trained for cars can be fine-tuned to train a model that identifies trucks. The pretrained model must have been trained with the same model type and backbone model that will be used to train the new model. | File |
validation_percentage (Дополнительный) | The percentage of training samples that will be used for validating the model. The default value is 10. | Double |
stop_training (Дополнительный) | Specifies whether early stopping will be implemented.
| Boolean |
freeze (Дополнительный) | Specifies whether to freeze the backbone layers in the pretrained model, so that the weights and biases remain as originally designed.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
out_model_file | The output trained model file. | File |
Пример кода
This example trains a tree classification model using the U-Net approach.
# 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")
This example trains an object detection model using the SSD approach.
# 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)
Environments
Информация о лицензиях
- Basic: Требуется Image Analyst
- Standard: Требуется Image Analyst
- Advanced: Требуется Image Analyst