“由对等方在经过改编的标准 ML-Engine 对象检测训练中重置连接
"Connection reset by peer on adapted standard ML-Engine object-detection training
我的目标是使用 Google ML 引擎基于对象检测 API 中的宠物训练示例测试自定义对象检测训练。
经过一些成功的训练周期(可能直到第一个检查点,因为尚未创建检查点)...
15:46:56.784
global step 2257: loss = 0.7767 (1.70 sec/step)
15:46:56.821
global step 2258: loss = 1.3547 (1.13 sec/step)
...我在几个对象检测训练作业试验中收到以下错误:
Error reported to Coordinator: , {"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":"Connection reset by peer","syscall":"recvmsg"}
我在 worker-replica-0,3 和 4 上收到它。之后作业失败:
Command '['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']' returned non-zero exit status -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/
I 运行 使用以下命令的作业(使用 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 模型主分支版本(提交 36203f09dc257569be2fef3a950ddb2ac25dddeb)。我本地安装的 TF 版本是 1.2,我使用的是 python 3.5.1.
我的训练和验证记录都在本地进行训练。
对我来说,作为新手,很难看出问题的根源。我很乐意提供任何建议。
更新:
由于内存不足,作业失败。请尝试使用更大的机器。
除了 rhaertel80 的回答,如果您能通过 cloudml-feedback@google.com.
与我们分享项目编号和工作 ID 也将很有帮助
一种可能性是 TF 进程正在使用大量资源(通常是内存)并被 OS 杀死。这将解释由对等方重置的连接。
所以要尝试的一件事是使用具有更多资源的 tier/machines。
我的目标是使用 Google ML 引擎基于对象检测 API 中的宠物训练示例测试自定义对象检测训练。
经过一些成功的训练周期(可能直到第一个检查点,因为尚未创建检查点)...
15:46:56.784 global step 2257: loss = 0.7767 (1.70 sec/step)
15:46:56.821 global step 2258: loss = 1.3547 (1.13 sec/step)
...我在几个对象检测训练作业试验中收到以下错误:
Error reported to Coordinator: , {"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":"Connection reset by peer","syscall":"recvmsg"}
我在 worker-replica-0,3 和 4 上收到它。之后作业失败:
Command '['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']' returned non-zero exit status -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/
I 运行 使用以下命令的作业(使用 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 模型主分支版本(提交 36203f09dc257569be2fef3a950ddb2ac25dddeb)。我本地安装的 TF 版本是 1.2,我使用的是 python 3.5.1.
我的训练和验证记录都在本地进行训练。
对我来说,作为新手,很难看出问题的根源。我很乐意提供任何建议。
更新: 由于内存不足,作业失败。请尝试使用更大的机器。
除了 rhaertel80 的回答,如果您能通过 cloudml-feedback@google.com.
与我们分享项目编号和工作 ID 也将很有帮助一种可能性是 TF 进程正在使用大量资源(通常是内存)并被 OS 杀死。这将解释由对等方重置的连接。
所以要尝试的一件事是使用具有更多资源的 tier/machines。