Tensorflow 2.x CPU和GPU分析和执行

问题描述

我正在python 3.7中使用tf 2.3训练DNN,并注意到许多tf操作是在cpu中而不是在GPU中执行的,而对于tf如何决定在哪里执行每个操作没有明确的区分。

例如,在使用探查器时,我注意到有时tf.where(SelectV2)在GPU中执行,但大多数情况下是在cpu中执行,即使我在命名空间之前指定应使用gpu({{1 }}。

在读取following answer之后,我尝试在运行操作之前将数据强制转换为float32,但它们仍在cpu上执行。

  1. 如何控制哪些设备上运行哪些操作?
  2. 是否可以获得GPU支持操作列表
  3. 是否有一种简单的方法可以分析图形中cpu操作的发生位置(traceviewer中的名称范围似乎仅与GPU有关)?
  4. 如何确定何时在cpu中运行调用以及何时在GPU中运行以及将图形跟踪到trace_viewer中的位置?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)