用于存储纹理数据以进行快速 gpu 推理的良好模型和训练算法

人工智能 显卡
2021-10-19 00:57:51

现在,以下内容可能听起来很傻,但我想这样做是为了更好地理解 GPU 推理在一组深度学习问题中的性能和实现。

我想要做的是用 NN 替换 3d 模型的表面纹理,该 NN 以某种方式存储该纹理数据并允许从其 UV 坐标推断任意纹素的 rgb 颜色。所以基本上它应该提供与纹理本身相同的功能。

常规纹理查找采用 UV 坐标并在这些纹理坐标处返回(可能已过滤的)RGB 颜色。

因此,我想训练一个将 [0,1] 范围内的两个浮点数作为输入并输出三个 rgb 颜色浮点数的网络。

我还想训练那个网络来存储我的 4096x4096 纹理。所以我可用的训练数据是 4096*4096=16777216<float2, float3>

最后,我想在我的(OpenGL 4 或 directX11)像素着色器中评估经过训练的网络,为每个渲染像素提供该像素的插值 UV 坐标,并从中检索 RGB 值。

很明显,这将

  • 保真度低于直接使用纹理
  • 使用可能比直接使用纹理更多的内存
  • 比直接使用纹理要慢

因此这样做可能很愚蠢,但我仍然想尝试以最佳方式做到这一点,特别是在推理性能方面(我希望能够以 1080p 分辨率的交互式帧速率运行它)。

有人可以向我指出一类网络或文章或描述非常适合此任务的模型和训练算法(尤其是在实现像素着色器的推理方面)?

0个回答
没有发现任何回复~