【问题标题】:How can you add the input layer and last layer in mobilenetv2 bottleneck block when they're almost never the same size?当 mobilenetv2 瓶颈块中的输入层和最后一层几乎从不相同时,您如何添加它们?
【发布时间】:2022-12-23 22:08:49
【问题描述】:

我在理解 mobilenetv2 架构瓶颈块的基本思想时遇到了很多麻烦。对于 stride = 1,将输入层添加到最后一层(又名跳跃连接),它们的大小实际上永远不会相同!你应该如何添加到几乎从不相同大小的张量中。

我试图从很多方面考虑它,但我看不出为 stride=1 做了什么。

【问题讨论】:

  • 编辑:我想我通过查找随机代码知道解决方案,但我仍然认为这是含糊不清的,论文中没有提到。输入似乎需要一个额外的 1x1 卷积来匹配输出大小。所以它不是 final_layer = output_layer + input_layer。它的 final_layer = output_layer + conv(output_size, (1,1))(input_layer)

标签: tensorflow tf.keras


【解决方案1】:

您可以使用 model.add 添加图层

import tensorflow as tf

base_model = tf.keras.applications.MobileNetV2(input_shape=(96,96,3),
                                               include_top=False,
                                               weights='imagenet')

model = tf.keras.Sequential()
model.add(base_model)
model.add(tf.keras.Input(shape=( )))

谢谢你。

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 1970-01-01
    • 2020-01-12
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2019-04-21
    • 1970-01-01
    相关资源
    最近更新 更多