tensorflow - TensorFlow 不生成 GPU 跟踪信息
问题描述
我开始了一个新的机器学习项目。
根据本文档(https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras)
带有 Tensorboard 的 TF 似乎支持 GPU 分析。因此,我在 Jupyter Notebook 中使用了相同的代码进行测试。
示例代码生成分析结果。但是,结果文件中没有 GPU 跟踪信息。(仅 CPU)
这是我的主要问题。
我正在使用两个 RTX 2080 TI 显卡。
而且,他们在运行代码时正在工作。
示例代码不使用 MirroredStrategy。所以,我可以看到其中一个正在运行。
起初,我认为 Tensorboard 是问题所在。但是,我很快意识到 TF 不会生成 GPU 跟踪信息。
上图是生成的文件 (local.trace)。没有 GPU 数据。
这是我的系统规范。
- 操作系统 ubuntu 18.04
- jupyter 客户端 5.3.4
- jupyter 核心 4.6.1
- jupyter张量板0.1.10
- 张量流GPU 2.0.0
- 张量流估计器 2.0.1
- 张量流元数据 0.15.1
- 张量板 2.0.2
- 英伟达 410.104
- CUDA 10.0
- anaconda 4.7.12(使用 python 3.6)
它看起来无关紧要,但有如下图所示的警告消息。
我已经在其他 PC 上对此进行了测试,并得到了相同的结果。可能是仅在 Google Colab 上支持 GPU 分析。(我还是一头雾水)最近在google上搜了一下,解决了这个问题。我仍然无法得到答案。
是否有人在您自己的系统上使用 GPU 分析而不是 Google Colab?
请给我一点建议。
解决方案
我弄清楚是什么导致了这个问题。
它与CUPTI(CUDA Profiling Tools Interface)有关
与 Jupyter Notebook 相比,当代码在 Ubunto shell 上运行时会出现警告消息。
CUPTI error: CUPTI could not be loaded or symbol could not be found.
TF 找不到 CUPTI 库。这是问题的主要原因。
如下链接添加到 LD_LABRARY_PATH 的路径后,问题已解决!
推荐阅读
- python - 我如何去 python 中的文件夹在那里执行 python 脚本?
- laravel - 在 AWS 上运行的 Laravel 5 中终止的会话和身份验证
- xamarin - Azure 移动服务身份验证 - 使用 sql 表更改令牌存储存储?
- python - Web2py 中的 FOREIGN KEY 约束失败
- ionic-framework - 在 Ionic 3 上保留滚动
- c# - C# DataTable 除以 0 得 8
- android - 使用 Dagger 注入 DynamoDbMapper - AwsMobileClient
- url - 从 Google Storage 签名的 url 获取存储路径
- r - 响应式读取和渲染 shapefile
- amazon-web-services - 在使用 Dynamo Db 的 AWS Appsync 中执行批量获取时遇到问题