TensorFlow重量初​​始化占总运行时间的99%

时间:2017-05-04 21:30:07

标签: performance optimization tensorflow profiling gpu

问题

我注意到我的一个网络运行速度很慢,nvidia-smi报告的GPU使用率只有约10%左右。运行探查器之后,我发现TruncatedNormal进程占用了绝大部分的运行时间(见图)。什么可能导致这种问题?

TensorFlow profiler

代码

重量声明功能(来自MNIST教程):

def weight_variable(shape):
    initial = tf.truncated_normal(shape, stddev=0.1)
    return tf.Variable(initial)

行动准则:

 # First Layer
    with tf.name_scope('input'):
        x = tf.placeholder(tf.float32, [None, Nvars])
    w1 = weight_variable([Nvars, 8])
    b1 = bias_variable([8])
    y1 = tf.nn.relu(tf.matmul(x, w1) + b1)

1 个答案:

答案 0 :(得分:0)

问题是您使用的tensorflow函数具有乘法属性。当CPU需要调用产品处理程序时,性能会呈指数级下降。

如果内核预先支持计算,则可以避免该问题。你需要做的是使用编译器优化;即更改一些编译器设置,这将使编译器“轻松”。乘法。

或者......你可能不会成倍增加,只需添加几次。

希望我帮助过。