Tensorflow stft不使用gpu

时间:2017-12-22 03:12:12

标签: python tensorflow tensorflow-gpu

我有一个非常简单的张量流程序来计算wav文件的谱图:

# load a wav file into audio_data

audio_data = tf.convert_to_tensor(audio_data, dtype=tf.float32)

stft = tf.contrib.signal.stft(audio_data, frame_length=255, frame_step=1)
mag = tf.abs(stft)

init = tf.global_variables_initializer()

with tf.Session(config=tf.ConfigProto(log_device_placement=False)) as sess:
    sess.run(init)
    mag = sess.run(mag)

tf.contrib.signal.stft的文档说它是用兼容GPU的操作实现的,我看到设备放置日志说程序中的每个操作都放在我的gpu上。但是,当我运行此操作时,我的 cpu 最大值为100%,而我的 gpu 完全空闲。我也尝试在stft行上方添加一个明确的with tf.device('/gpu:0'):,但无济于事。我需要做什么才能在我的gpu上运行?这可能是op的错误吗?其他gpu操作,例如卷积操作,似乎与我的gpu工作得很好,当我使用它时,我可以完全100%使用它。

我在Linux Ubuntu,Tensorflow 1.4.1(从源代码编译),我正在使用CUDA 9.0和cuDNN 7.0。

0 个答案:

没有答案