【问题标题】:What is the different between SSD and SSD Lite ??(Tensorflow)SSD和SSD Lite有什么区别??(Tensorflow)
【发布时间】:2018-06-04 06:24:08
【问题描述】:

我已阅读论文 MobileNetV2(arXiv:1801.04381​​)

并从Tensorflow model zoo 运行模型。

我注意到 SSD Lite MobileNetV2 的推理时间比 SSD MobileNetV2 快。

在MobileNetV2论文中,关于SSD Lite只有以下一句话的简短解释:

'我们将所有常规卷积替换为可分离卷积(depthwise 然后是 SSD 预测层中的 1 × 1 投影)。

所以我的问题是,SSD 和 SSD Lite 有什么区别?

我不明白其中的区别,因为当 MobileNetV1(arXiv:1704.04861v1) 发布并应用于 SSD 时,它已经将所有卷积层替换为上面提到的深度可分离卷积。

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    这很令人沮丧,因为所有对 SSDLite 的搜索都会导致“我们称之为 SSDLite 的新框架”,所以我期待着一件事。但是,我怀疑 SSDLite 只是通过对普通 SSD 模型文件的一次修改(kernel_size)和两次添加(use_depthwise)来实现的。

    比较模型文件 ssd_mobilenet_v1_coco.configsdlite_mobilenet_v2_coco.config 会产生以下结果:

    model {
      ssd {
        box_predictor {
          convolutional_box_predictor {
            kernel_size: 3
            use_depthwise: true
          }
        }
        feature_extractor {
          use_depthwise: true
        }
      }
    }
    

    我得试试看。

    【讨论】:

    • 谢谢。我还比较了两个 ssd.config 文件,但大多数情况与原始 SSD 和 SSD Lite 相同。
    • 我认为深度可分离卷积已经在 SSD MobileNetV1 上实现。对吗?
    【解决方案2】:

    正如已经指出的答案之一,配置的主要区别在于 box_predictor 和 feature_extractor 的两个 use_depthwise 选项。基本的更改已经在代码库中实现,它基本上将 SSD 层中的所有常规卷积和最后一个框+类预测层替换为深度 + 点可分离卷积。我们的 MobilenetV2 论文中描述了理论参数和 flops 节省。

    同样为了回答@Seongkyun Han的问题,我们在v1论文中没有替换SSD层中的所有conv(只有属于mobilenet的所有层都是separable conv)。

    【讨论】:

      猜你喜欢
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多