我可以使用GPU在tf.Dataset上使用高斯模糊进行数据增强吗?

时间:2019-04-16 02:40:59

标签: tensorflow tensorflow-datasets gaussianblur

出于性能原因,我想将我基于旧队列的管道更改为基于tensorflow的新数据集API。但是,更改我的代码后,它将在8个小时内运行,而不是2个小时。

我的GPU的使用率约为30/40%,现在介于0和6%之间。

我发现这条线变得如此缓慢,这是我对数据集应用高斯模糊的时候:

def gaussian_blur(imgs,lbls):
   imgs = tf.nn.conv2d(imgs,k_conv,
                                   strides=[1, 1, 1, 1], 
                                   padding='SAME',
                                   data_format='NHWC'
                                   )
   return imgs, lbls

ds = ds.map(gaussian_blur)

使用旧的基于队列的管道,该行几乎不会减慢我的程序的速度。

我认为这是因为该行曾经在GPU上运行,但是新的数据集API强制它在CPU上运行,这已经很慢了,并且已经100%使用了。

您对如何在不降低性能的情况下应用高斯模糊有任何想法吗?我应该保留基于旧队列的管道吗?

0 个答案:

没有答案