tensorflow - 分析 python-tensorflow-1.14
问题描述
我正在分析我的 tensorflow 训练,发现某些操作是在 CPU 而不是 GPU 上执行的。
当使用 强制设备时with graph.device("/gpu:0")
,切片操作引发错误说
无法满足明确的设备规范“/device:GPU:0”,因为没有支持的 GPU 设备内核可用。
with graph.device("/device:XLA_GPU:0")
我通过强制设备进行特定的切片操作来“解决”它。但是,在分析过程时,我得到(太多)转移(MemcpyHtoD
和MemcpyDtoH
)。此外,即使图形的所有节点都分配给GPU
(或XLA_GPU
用于切片操作),似乎有些变量位于CPU
(见下Adam/VariableV2
图中的,发生在 a 之后MemcpyHtoD
,然后是 a MemcpyDtoH
)!
我无法调查和理解 tensorflow 如何处理数据、操作和执行它们的设备。
- 为什么 tensorflow 不能在 GPU 上运行一些非常基本的操作(比如切片)?
- 为什么主机和设备之间需要传输
Adam/VariableV2
? GPU
和之间是否需要数据传输XLA_GPU
?
解决方案
推荐阅读
- node.js - apt 命令无法找到 npm 和节点包
- angular - Devexpress Datagrid 图标图像过滤器不显示角度
- java - Windows 10 上的 TLS 1.3 密钥更新问题
- c# - 如何在 ASP.NET Core 中实现表单重置按钮?
- python - 在 AWS 上部署 django 时出现 Pytorch 导入错误
- python - Elif 语句似乎没有正确读取变量
- javascript - 在 Shopify 中刷新异步购物车以更新忠诚度积分值
- sql - 在 Snowflake IN 子查询中使用 UPPER 时获取“无法评估不支持的子查询类型”
- visual-studio-code - 我在vscode中使用puppeteer将md文件转换为pdf,但是,转换后我文件中的所有公式都消失了
- django - 未找到带有参数“(”,)”的“后详细信息”的反向。尝试了 1 种模式:['post\\/(?P
[0-9]+)\\/$']