[英]Tensorflow stft does not use gpu
我有一个非常简单的tensorflow程序,可以计算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完全空闲。 我也尝试with tf.device('/gpu:0'):
添加一个显式with tf.device('/gpu:0'):
在stft行之上,但无济于事。 我需要做什么才能在我的gpu上运行? 这可能是op的错误吗? 其他gpu操作,例如卷积操作,似乎与我的gpu工作得很好,当我使用它时,我可以完全100%使用它。
我在Linux Ubuntu,Tensorflow 1.4.1(从源代码编译),我正在使用CUDA 9.0和cuDNN 7.0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.