以低延迟高吞吐量方式使用Tensorflow

时间:2017-10-24 20:28:00

标签: python tensorflow neural-network gpgpu directx-12

处理后的数据是实时视频(一堆连续的帧),所有这些都需要以DX12缓冲区结束。

如果数据在训练期间被复制到系统内存,我并不在意,但在评估期间,它必须保留在GPU上。

我会在python中单独训练网络,允许高延迟,但经过训练后,我会完全在GPU上使用它(因为我的帧已经存在)。从我的角度来看(使用GPGPU编程经验,但Tensorflow没有那么多)有两种方法可以做到这一点:

  1. 从python(权重和偏差)中训练模型中提取参数,并将它们上传到GPU上具有相同网络拓扑并在那里运行的c ++程序。它的行为应该像它所训练的Tensorflow网络一样。

  2. 在c ++程序中也使用Tensorlow,只需传递输入和输出的缓冲区句柄(用GPGPU的方式),然后与DX12交互(因为我需要评估才能在这里结束) )。

  3. 想知道这些选项是否可行,如果可行,哪一个更好,为什么?

    如果我遗漏任何不清楚的地方,请在评论中告诉我。

0 个答案:

没有答案