我需要使用cuda内核内部的张量流模型进行推理。为此,我将需要可以从cuda内核内部调用的DEVICE函数进行推理。在tensorflow C ++ API中找不到类似的东西。
答案 0 :(得分:0)
我绝不是Tensorflow的专家。但是请考虑在非平凡的网络上运行GPU推理通常会涉及多个内核调用。您要查找的API似乎不太可能存在。即使理论上也可以从其他内核中启动内核(例如,使用动态并行),Tensorflow的全部要点还是要以抽象级别描述您的计算,这远远超过了与CUDA的关系。您使用Tensorflow为您执行到CUDA的映射。 Tensorflow基本上是一种编译器,它将您的计算图转换为它认为在给定目标硬件上执行该图所描述的计算的最佳方法的任何方式。这种映射的细节是高度特定于目标的,可能会发生变化。在公共API中公开任何此类内容似乎都与Tensorflow旨在成为的本质背道而驰。当然,Tensorflow是开源的,因此您总是可以去看看并弄清楚Tensorflow生成的设备代码到底是什么样的以及如何调用它。但是,这样做所需的工作量极有可能是禁止的。并且整个过程都必须与每个新版本一起破坏...
与其问如何手动调用Tensorflow会话内部的问题,不如说是一种更有成果的方法,而是让Tensorflow调用您。看来,例如,通过adding a custom operation,您可以让Tensorflow调用您的GPU代码…