我正在编写一个简单的AlexNet实现。我尝试使用tf.nn.conv2d和tf.layers.conv2d,结果表明,使用tf.nn.conv2d时,损失的下降速度更快,即使结构完全相同。有谁知道任何解释吗?
答案 0 :(得分:0)
如果您尝试遵循函数调用链,则会发现tf.layers.conv2D()
会调用tf.nn.conv2D()
,因此无论您使用什么方法,都将调用tf.nn.conv2d()
如果您自己称呼它,则速度更快。您可以使用traceback.print_stack()
方法亲自进行验证。
注意,这并不意味着它们是相同的,tf.layers.conv2D()
还会执行其他各种任务,因此请根据您的需要选择功能。