Платформа Google AI: запуталась в нескольких версиях среды выполнения, которые мне нужно указать
От обучения до этапа прогнозирования в Google AI Platform Training and Prediction существует понятие исполняемой версии, и я немного смущен этим. При запуске обучения необходимо указать версию среды выполнения (см. Здесь). Другой необходимо указать при экспорте модели в формате Tensorflow SavedModel, а другой - при создании модели с версией.
Пример. Я отправляю задание на обучение, используя клиентскую библиотеку API Google для Python, поэтому я следовал этому руководству, чтобы настроить задание на обучение. Поскольку я использую API обнаружения объектов tensorflow, мой файл конфигурации выглядит так:
{
"jobId": "...",
"trainingInput": {
"runtimeVersion": "2.1",
"pythonVersion": "3.7",
"scaleTier": "CUSTOM",
"masterType": "standard",
"workerCount": "1",
"workerType": "cloud_tpu",
"workerConfig": {
"tpuTfVersion": "1.15"
},
"region": "us-central1",
"jobDir": "...",
"pythonModule": "object_detection.model_main_tf2",
"args": [
"--model_dir",
"...",
"--pipeline_config_path",
"..."
]
}
}
После этого мой файл конфигурации для экспорта:
{
"jobId": "...",
"trainingInput": {
"runtimeVersion": "2.1",
"pythonVersion": "3.7",
"scaleTier": "CUSTOM",
"masterType": "standard",
"workerCount": "1",
"workerType": "standard",
"region": "us-central1",
"pythonModule": "object_detection.exporter_main_v2",
"args": [
"--input_type",
"image_tensor",
"--pipeline_config_path",
"...",
"--trained_checkpoint_dir",
"...",
"--output_directory",
"..."
]
}
}
Смотрите, мне пришлось снова указать версию времени выполнения. Должна ли она быть такой же, как и версия среды выполнения, используемая для учебного задания? Для последней части, после создания модели, мне пришлось создать версию. Мой файл конфигурации:
{
"name": "v1",
"description": "version description",
"isDefault": "False",
"deploymentUri": "...",
"createTime": "string",
"runtimeVersion": "2.1",
"machineType": "mls1-c1-m2",
"framework": "TENSORFLOW",
"pythonVersion": "3.7"
}
Снова исполняемая версия. Тот же вопрос: должно ли оно быть таким же, как раньше? Или может быть разное время выполнения для обучения и прогнозирования?