问题描述
我正在尝试使用 Docker 在 OSX El Capitan 上安装 TensorFlow 服务,但一直遇到错误.这是我正在遵循的教程:
I'm trying to install TensorFlow serving on OSX El Capitan using Docker but keep running into an error. Here is the tutorial I'm following:
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.
推荐答案
已解决!看起来问题在于 VM 中的内存不足.
Solved! Looks like the issues was with running out of memory in the VM.
这是我修复它的方法:
1) 创建机器时,确保它有更多内存(我的只有 1GB).以下是创建 4GB docker 机器的方法:
1) When creating the machine, make sure it has more memory (mine was only 1GB). Here is how you create a docker machine with 4GB:
docker-machine create -d virtualbox --virtualbox-memory 4096 default
2) 运行 bazel 命令时,传入一个限制要使用的内存量的参数.在这里,我仅使用 2GB 运行命令:
2) When running the bazel command pass in a parameter limiting the amount of memory to use. Here I'm running the command using only 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
这篇关于在 OSX 上使用 Docker 的 Tensorflow 服务编译错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!