我已阅读论文MobileNetV2(arXiv:1801.04381)
并从Tensorflow model zoo运行模型。
我注意到SSD Lite MobileNetV2的推理时间比SSD MobileNetV2快。
在MobileNetV2论文中,以下句子中只有关于SSD Lite的简短说明:
'我们用可分离的卷积(深度方向)替换所有常规卷积 然后在SSD预测层中进行1×1投影。
所以我的问题是,SSD和SSD Lite有什么区别?
我不明白其中的区别,因为当MobileNetV1(arXiv:1704.04861v1)发布并应用于SSD时,它已经将所有卷积层替换为上面提到的深度可分卷积。
答案 0 :(得分:3)
正如已经指出的答案之一,配置中的主要区别是box_predictor和feature_extractor的两个use_depthwise选项。基本的更改已经在代码库中实现,它基本上将SSD层中的所有常规卷积和最后一个box + class预测层替换为深度+点向可分离卷积。我们的MobilenetV2论文中介绍了理论参数和触发器保存。
也要回答@Seongkyun Han的问题,我们没有在v1论文中替换SSD层中的所有conv(只有属于mobilenet的所有层都是可分离的conv)。
答案 1 :(得分:2)
令人沮丧的是,所有对SSDLite的搜索都会导致“我们称之为SSDLite的新颖框架”,因此我期待有一个结果。但是,我怀疑SSDLite只能通过对通用SSD模型文件进行一次修改(kernel_size)和两次添加(use_depthwise)来实现。
比较模型文件 ssd_mobilenet_v1_coco.config 和 sdlite_mobilenet_v2_coco.config 会产生以下结果:
model {
ssd {
box_predictor {
convolutional_box_predictor {
kernel_size: 3
use_depthwise: true
}
}
feature_extractor {
use_depthwise: true
}
}
}
我必须尝试一下。