在运行时更改TensorFlow操作设备的位置?
据我所见,TensorFlow的设计目的是在单个在运行时更改TensorFlow操作设备的位置?,tensorflow,tensorflow-gpu,tensorflow-xla,Tensorflow,Tensorflow Gpu,Tensorflow Xla,据我所见,TensorFlow的设计目的是在单个tf.Session.run()中完全静态地放置设备。是否有一个已知的理想位置来插入代码,以便随时更改操作设备的位置 我知道Python级的静态方法,但我正在寻找C++级的一些东西,这样我就可以做一些类似于负载平衡的事情。 举个例子,假设我希望TensorFlow以交替的方式(我知道这并不理想)调度CPU和GPU的操作。如何在运行时执行此操作,以便在解决操作依赖关系和安排更多操作时,将操作环境更新为不同的设备?在操作启动之前(executor.cc
tf.Session.run()
中完全静态地放置设备。是否有一个已知的理想位置来插入代码,以便随时更改操作设备的位置
我知道Python级的静态方法,但我正在寻找C++级的一些东西,这样我就可以做一些类似于负载平衡的事情。
举个例子,假设我希望TensorFlow以交替的方式(我知道这并不理想)调度CPU和GPU的操作。如何在运行时执行此操作,以便在解决操作依赖关系和安排更多操作时,将操作环境更新为不同的设备?在操作启动之前(executor.cc的第1651行),最好使用为给定操作的环境更改执行设备?还是我误解了一个操作是如何通过XLA来执行的,什么时候我可以改变设备放置的时间?我也在寻找。在构建图形时,决定设备的位置似乎不合适。特别是因为可以使用
freeze_图函数/脚本清除设备放置元数据。这意味着您以后加载保存的图形模型时,可以决定如何在部署的设备上放置图形的节点和边。