gpt4 book ai didi

python - tf.nn_conv2d 和 tf.nn.depthwise_conv2d 之间的区别

转载 作者:太空狗 更新时间:2023-10-30 01:40:59 25 4
gpt4 key购买 nike

tf.nn_conv2d 和 Tensorflow 中的 tf.nn.depthwise_conv2d 有什么区别?

最佳答案

我不是这方面的专家,但据我所知,区别在于:

假设您有一个长度为 100、宽度为 100 的输入彩色图像。因此尺寸为 100x100x3。对于这两个示例,我们使用相同的宽度和高度为 5 的过滤器。假设我们希望下一层的深度为 8。

在 tf.nn.conv2d 中,您将内核形状定义为 [width, height, in_channels, out_channels]。在我们的例子中,这意味着内核的形状为 [5,5,3,out_channels]。跨过图像的权重核具有 5x5x3 的形状,跨过整个图像 8 次以产生 8 个不同的特征图。

在 tf.nn.depthwise_conv2d 中,您将内核形状定义为 [width, height, in_channels, channel_multiplier]。现在产生的输出不同了。单独的 5x5x1 过滤器跨越输入图像的每个维度,每个维度一个过滤器,每个过滤器每个维度产生一个特征图。所以在这里,内核大小 [5,5,3,1] 会产生深度为 3 的输出。channel_multiplier 告诉您每个维度要应用多少个不同的过滤器。因此,对于 3 个输入维度,深度 8 的原始期望输出是不可能的。只能是 3 的倍数。

关于python - tf.nn_conv2d 和 tf.nn.depthwise_conv2d 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com