在OSX上使用Docker进行Tensorflow服务编译错误

时间:2016-03-28 14:24:52

标签: tensorflow tensorflow-serving

我尝试使用Docker在OSX El Capitan上安装TensorFlow,但仍然遇到错误。以下是我的教程:

https://tensorflow.github.io/serving/docker.html

以下是导致错误的命令:

bazel test tensorflow_serving/...

这是我得到的错误:

for (int i = 0; i < suffix.size(); ++i) {
                                   ^
ERROR: /root/.cache/bazel/_bazel_root/f8d1071c69ea316497c31e40fe01608c/external/tf/tensorflow/core/kernels/BUILD:212:1: C++ compilation of rule '@tf//tensorflow/core/kernels:mirror_pad_op' failed: gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -iquote external/tf -iquote ... (remaining 65 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 4.
gcc: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.

1 个答案:

答案 0 :(得分:3)

解决!看起来问题是VM中的内存不足。

以下是我修复它的方法:

1)创建机器时,确保它有更多内存(我的只有1GB)。以下是如何使用4GB创建一个docker机器:

docker-machine create -d virtualbox --virtualbox-memory 4096 default

2)运行bazel命令时,传入限制要使用的内存量的参数。在这里,我只使用2GB运行命令:

bazel build -c opt --copt=-mavx --verbose_failures --local_resources 2048,2.0,1.0 -j 1 //tensorflow_serving/example:mnist_export 

原始命令是:

bazel build //tensorflow_serving/example:mnist_export