我正在使用tensorflow创建一个神经网络,我遇到了一个问题,试图使用生成器来分割我的数据,基本上它太慢了。
我的训练数据包含52x52个numpy数组。在将其输入我的NN之前,我需要将每个数组拆分成52x52x3数组。如上所述,我有一个生成器可以执行此操作,但我注意到即使我的NN在GPU上运行,我的GPU使用率也非常低(通常低于10%)。我想这可能是因为我在CPU上执行生成器。
有没有办法在GPU上运行我的生成器?
我尝试了什么:
- 我想尝试使用pyCUDA来编程GPU上的生成器,但发现tensorflow和pyCUDA不相互支持
- 我尝试使用数据集API中的from_generator
函数,如下所述:
https://www.tensorflow.org/api_docs/python/tf/contrib/data/Dataset
但是在遇到问题时我遇到了这个github线程,提到不支持在GPU上运行此函数:
https://github.com/tensorflow/tensorflow/issues/13610
非常感谢任何帮助。