我注意到我的一个网络运行速度很慢,nvidia-smi报告的GPU使用率只有约10%左右。运行探查器之后,我发现TruncatedNormal
进程占用了绝大部分的运行时间(见图)。什么可能导致这种问题?
重量声明功能(来自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)
答案 0 :(得分:0)
问题是您使用的tensorflow函数具有乘法属性。当CPU需要调用产品处理程序时,性能会呈指数级下降。
如果内核预先支持计算,则可以避免该问题。你需要做的是使用编译器优化;即更改一些编译器设置,这将使编译器“轻松”。乘法。
或者......你可能不会成倍增加,只需添加几次。
希望我帮助过。