tensorflow - 什么是 MobileNetv1 depth_multiplier?

标签 tensorflow

引用tensorflow mobilenetv1模型:https://github.com/tensorflow/models/blob/9f7a5fa353df0ee2010f8e7a5494ca6b188af8bc/research/slim/nets/mobilenet_v1.py#L171

参数 depth_multiplier 记录为:

depth_multiplier: Float multiplier for the depth (number of channels) for all convolution ops. The value must be greater than zero. Typical usage will be to set this value in (0, 1) to reduce the number of parameters or computation cost of the model



但是在( paper )中,他们提到了两种类型的乘数:宽度乘数和分辨率乘数,那么哪一种对应深度乘数?

Keras , 他们说:

depth_multiplier: depth multiplier for depthwise convolution (also called the resolution multiplier)



我很困惑!

最佳答案

paper 中所述:

  • 的作用宽度乘数 α 是在每一层均匀地细化网络。对于给定的层和宽度乘数 α,输入 channel 数 M 变为 αM,输出 channel 数 N 变为 αN。
  • 分辨率乘数 ρ 应用于输入图像,每个层的内部表示随后通过相同的乘数减少。在实践中我们隐含 通过设置输入分辨率来设置 ρ。

  • code :
    depth_multiplier 用于减少每一层的 channel 数。 因此depth_multiplier 对应于宽度乘数α。

    关于tensorflow - 什么是 MobileNetv1 depth_multiplier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49993541/

    相关文章:

    python - ctc 损失错误 - sequence_length(0) <= 3

    python - 如何向 numpy.ndarray 添加标签?

    python - Tensorflow 基础知识 - 计算累积移动平均值

    python - 在 TensorFlow 中,Session.run() 和 Tensor.eval() 有什么区别?

    tensorflow - 如何对隐藏的密集层施加最大-最小约束?

    python - Tensorflow 大步论证

    python - keras multiple_gpu_model 导致 "Can' t pickle 模块对象“错误

    python - 在 Keras 中为具有不同隐藏大小和多个 LSTM 层的每个小批量设置隐藏状态

    python - model.predict() - 精度接近 1 的模型预测错误的类别

    python - 将 tensorflow 数据集输入模型