小编Kai*_*erg的帖子

如何创建具有 CUDA 支持的最新 Tensorflow 版本的调试版本?

我尝试并尝试使用官方 docker 映像(latest-cuda-devel-py3 -> r1.12.0)为最新版本的 Tensorflow 创建调试版本,但似乎没有任何效果。有人最近为 Tensorflow (>= r1.11.0) 创建了一个成功的调试版本并且可以分享他的方法吗?

这是我到目前为止所尝试的。

我基本上尝试按照https://www.tensorflow.org/install/source 上的说明进行操作,但尝试修改它们以生成调试版本。我尝试过的任何事情都没有成功构建。

主机系统是具有大量 RAM(例如 512 GB 的 RAM -> DGX-1)的 Linux x86-64 机器。Docker-Image 中的 CUDA 版本是 CUDA-9.0。docker 镜像中最近的“最新”Tensorflow 版本是 r1.12.0

为了使任何 cuda-build 工作,我需要使用“nvidia-docker”,否则我会收到“libcuda.so.1”的链接器错误。

我是这样开始的:

nvidia-docker pull tensorflow/tensorflow:latest-devel-gpu-py3
nvidia-docker run --runtime=nvidia -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \
    tensorflow/tensorflow:latest-devel-gpu-py3 bash
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用配置项目

cd /tensorflow
./configure
Run Code Online (Sandbox Code Playgroud)

我尝试了各种配置。我尝试将所有值保留为默认值。我尝试只启用我需要的部分。我试过根本不运行 ./configure 。我把它指向我自己的 cuda-9.0 和 tensorrt 安装。但根本不运行 ./configure (在 docker 镜像中)似乎会产生最好的结果(例如,我可以用最少的努力成功地进行优化构建)。

如果我使用确切的官方构建说明构建它,即创建优化/非调试构建,一切都按预期工作。所以运行以下似乎成功了。

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
Run Code Online (Sandbox Code Playgroud)

同样的事情,如果我运行以下,其中包括调试信息,但不关闭优化(例如,我不能真正用于调试目的)。 …

c++ build debug-symbols bazel tensorflow

2
推荐指数
1
解决办法
1465
查看次数

标签 统计

bazel ×1

build ×1

c++ ×1

debug-symbols ×1

tensorflow ×1