首页 文章

“通过改编的标准ML-Engine物体检测培训,由同行重置连接

提问于
浏览
0

我的目标是使用基于Object Detection API的宠物训练示例,使用Google ML-Engine测试自定义对象检测培训 .

经过一些成功的训练周期后(可能直到第一个检查点,因为没有创建检查点)...

15:46:56.784全球步骤2257:损失= 0.7767(1.70秒/步)15:46:56.821全球步骤2258:损失= 1.3547(1.13秒/步)

...我在几个物体检测培训工作试验中收到以下错误:

向协调员报告错误:,{“created”:“@ 1502286418.246034567”,“description”:“OS Error”,“errno”:104,“file”:“external / grpc / src / core / lib / iomgr / tcp_posix .c“,”file_line“:229,”grpc_status“:14,”os_error“:”通过对等方重置连接“,”系统调用“:”recvmsg“}

我在worker-replica-0,3和4上收到它 . 然后作业失败:

命令'['python',' - m',u'object_detection.train',你' - train_dir = gs:// cartrainingbucket / train',u' - pipeline_config_path = gs:// cartrainingbucket / data / faster_rcnn_resnet101 .config',' - job-dir',u'gs:// cartrainingbucket / train']'返回非零退出状态-9

我正在使用faster_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 .

我的培训和验证记录都在本地进行培训 .

对我来说,作为新手,很难看到问题的根源 . 我很乐意接受任何建议 .

2 回答

  • 1

    一种可能性是TF进程正在使用大量资源(通常是内存)并被操作系统杀死 . 这可以解释同伴重置的连接 .

    因此,要尝试的一件事是使用具有更多资源的层/机器 .

  • 1

    更新:由于内存不足导致作业失败 . 请尝试使用更大的机器 .

    除了rhaertel80的回答之外,如果您可以通过cloudml-feedback@google.com与我们分享项目编号和工作ID,也会有所帮助 .

相关问题