Моя цель — протестировать собственное обучение обнаружению объектов с помощью Google ML-Engine на основе примера обучения домашних животных из API обнаружения объектов.
После нескольких успешных циклов обучения (может быть, до первой контрольной точки, так как никакой контрольной точки не было создано)...
15:46:56,784 глобальный шаг 2257: потеря = 0,7767 (1,70 с/шаг)
15:46:56,821 глобальный шаг 2258: потеря = 1,3547 (1,13 с/шаг)
... Я получил следующую ошибку при нескольких пробных занятиях по обнаружению объектов:
Координатору сообщено об ошибке: {"created":"@1502286418.246034567","description":"Ошибка ОС","errno":104,"file":"external/grpc/src/core/lib/iomgr/tcp_posix. c","file_line":229,"grpc_status":14,"os_error":"Соединение сброшено партнером","syscall":"recvmsg"}
Я получил его на worker-replica-0,3 и 4. После этого задание не выполняется:
Команда '['python', '-m', u'object_detection.train', u'--train_dir=gs://cartrainingbucket/train', u'--pipeline_config_path=gs://cartrainingbucket/data/faster_rcnn_resnet101. config', '--job-dir', u'gs://cartrainingbucket/train']' вернул ненулевой статус выхода -9
Я использую адаптацию файла fast_rcnn_resnet101.config со следующими изменениями:
train_input_reader: {
tf_record_input_reader {
input_path: "gs://cartrainingbucket/data/vehicle_train.record"
}
label_map_path: "gs://cartrainingbucket/data/vehicle_label_map.pbtxt"
}
eval_config: {
num_examples: 2000
}
eval_input_reader: {
tf_record_input_reader {
input_path: "gs://cartrainingbucket/data/vehicle_val.record"
}
label_map_path: "gs://cartrainingbucket/data/vehicle_label_map.pbtxt"
shuffle: false
num_readers: 1
}
Мое ведро выглядит так:
cartrainingbucket (Regional US-CENTRAL1)
--data/
--faster_rcnn_resnet101.config
--vehicle_label_map.pbtxt
--vehicle_train.record
--vehicle_val.record
--train/
--checkpoint
--events.out.tfevents.1502259105.master-556a4f538e-0-tmt52
--events.out.tfevents.1502264231.master-d3b4c71824-0-2733w
--events.out.tfevents.1502267118.master-7f8d859ac5-0-r5h8s
--events.out.tfevents.1502282824.master-acb4b4f78d-0-9d1mw
--events.out.tfevents.1502285815.master-1ef3af1094-0-lh9dx
--graph.pbtxt
--model.ckpt-0.data-00000-of-00001
--model.ckpt-0.index
--model.ckpt-0.meta
--packages/
Я запускаю задание, используя следующую команду (используя Windows cmd [^ должно равняться]:
gcloud ml-engine jobs submit training stefan_object_detection_09_08_2017i ^
--job-dir=gs://cartrainingbucket/train ^
--packages dist/object_detection-0.1.tar.gz,slim/dist/slim-0.1.tar.gz ^
--module-name object_detection.train ^
--region us-central1 ^
--config object_detection/samples/cloud/cloud.yml ^
-- ^
--train_dir=gs://cartrainingbucket/train ^
--pipeline_config_path=gs://cartrainingbucket/data/faster_rcnn_resnet101.config
cloud.yml используется по умолчанию:
trainingInput:
runtimeVersion: "1.0" # i also tried 1.2, in this case the failure appeared earlier in training
scaleTier: CUSTOM
masterType: standard_gpu
workerCount: 5
workerType: standard_gpu
parameterServerCount: 3
parameterServerType: standard
Я использую на данный момент последнюю версию основной ветки Tensorflow Model (commit 36203f09dc257569be2fef3a950ddb2ac25dddeb). Моя локально установленная версия TF — 1.2, и я использую python 3.5.1.
Мои записи обучения и проверки работают локально для обучения.
Мне, как новичку, трудно увидеть источник проблемы. Буду рад любому совету.