Tensorflow:为什么tf.nn.conv2d运行得比tf.layers.conv2d快?

时间:2019-02-15 01:18:31

标签: python tensorflow

我正在编写一个简单的AlexNet实现。我尝试使用tf.nn.conv2d和tf.layers.conv2d,结果表明,使用tf.nn.conv2d时,损失的下降速度更快,即使结构完全相同。有谁知道任何解释吗?

1 个答案:

答案 0 :(得分:0)

如果您尝试遵循函数调用链,则会发现tf.layers.conv2D()会调用tf.nn.conv2D(),因此无论您使用什么方法,都将调用tf.nn.conv2d()如果您自己称呼它,则速度更快。您可以使用traceback.print_stack()方法亲自进行验证。

注意,这并不意味着它们是相同的,tf.layers.conv2D()还会执行其他各种任务,因此请根据您的需要选择功能。