SSD算法代码介绍(四):网络结构初探

这篇博客深入探讨SSD算法的网络结构,重点介绍了symbol_builder.py脚本中的get_symbol_train函数,该函数用于构建网络主干和定义损失函数。通过调用common.py脚本的multi_layer_feature和multibox_layer函数,实现网络结构的搭建。下篇将继续研究common.py脚本中的网络结构细节。
摘要由CSDN通过智能技术生成

上一篇博客:SSD算法代码介绍(三):网络结构参数配置 主要涉及网络结构构建时候的一些参数设置,最终是通过调用symbol_builder.py脚本的get_symbol_train函数完成网络的主干结构构建和损失函数的定义,因此接下来介绍symbol_builder.py脚本。

symbol_builder.py这个脚本主要包括import_module,get_symbol_train,get_symbol三个函数,后面两个函数类似,可以从get_symbol_train函数开始看,这里面调用了import_module函数。

from __future__ import absolute_import
import mxnet as mx
# common.py脚本中的这两个函数主要是用到定义新层和anchor的。
from .common import multi_layer_feature, multibox_layer  

def import_module(module_name):
    """Helper function to import module"""
    import sys, os
    import importlib
    sys.path.append(os.path.dirname(__file__))
# module_name只是一个str,这里调用importlib库的import_modole函数来导入指定名称的symbol脚本
    return importlib.import_module(module_name)

def get_symbol_train(network, num_classes, from_layers, num_filters, strides, pads,
                     sizes, ratios, normalizations=-1, steps=[], min_filter=128,
                     nms_thresh=0.5, force_suppress=False, nms_topk=400, **kwargs):
    """Build network symbol for training SSD

    Parameters
    ----------
    network : str
        base network symbol name
    num_classes : int
        number of object classes not including background
    from_layers : list of str
        feature extraction layers, use '' for add extra layers
        For example:
        from_layers = ['relu4_3', 'fc7', '', '', '', '']
        which means extract feature from relu4_3 and fc7, adding 4 extra layers
        on top of fc7
    num_filters : list of int
        number of filters for extra layers, you can use -1 for extracted features,
        however, if normalization and scale is applied, the number of filter for
        that layer must be provided.
        For example:
        num_filters = [512, -1, 512, 256, 256, 256]
    strides : list of int
        strides for the 3x3 convolution appended, -1 can be used for extracted
        feature layers
    pads : list of int
        paddings for the 3x3 convolution, -
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值