我读过论文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)发布并应用于固态硬盘时,它已经将上面提到的所有卷积层都替换为深度可分离的卷积。
发布于 2018-06-21 20:50:53
这很令人沮丧,因为所有对SSDLite的搜索都会得到“一个新的框架,我们称之为SSDLite”,所以我期待着一件事。然而,我怀疑SSDLite仅仅是通过对通用固态硬盘模型文件进行一次修改(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
}
}
}
我得试一试。
发布于 2018-07-04 15:01:33
正如其中一个答案所指出的,配置中的主要区别是box_predictor和feature_extractor的两个use_depthwise选项。潜在的变化已经在代码库中实现,基本上将SSD层和最后的box+class预测层中的所有常规卷积替换为深度+逐点可分离的卷积。在我们的MobilenetV2论文中描述了理论参数和flops节省。
同样为了回答@Seongkyun Han的问题,我们没有在我们的v1论文中替换SSD层中的所有conv (只有属于mobilenet的所有层都是可分离的conv)。
https://stackoverflow.com/questions/50674448
复制相似问题