def METHOD_NAME(batch_size, image_shape, num_classes, dtype):
    """Get symbol of SqueezeNet
    Parameters
    ----------
    batch_size : int
        The batch size used in the model
    image_shape : tuple
        The input image shape
    num_classes: int
        The number of classification results
    dtype : str
        The data type
    """
    data_shape = (batch_size,) + image_shape
    net = relay.var("data", shape=data_shape, dtype=dtype)
    net = relay.nn.conv2d(
        net,
        relay.var("conv1_weight"),
        channels=64,
        kernel_size=(3, 3),
        strides=(2, 2),
        padding=(0, 0),
    )
    net = relay.nn.bias_add(net, relay.var("conv1_bias"))
    net = relay.nn.relu(net)
    net = relay.nn.max_pool2d(net, pool_size=(3, 3), strides=(2, 2))
    net = _make_fire(net, 16, 64, 64, "fire2")
    net = _make_fire(net, 16, 64, 64, "fire3")
    net = relay.nn.max_pool2d(net, pool_size=(3, 3), strides=(2, 2))
    net = _make_fire(net, 32, 128, 128, "fire4")
    net = _make_fire(net, 32, 128, 128, "fire5")
    net = relay.nn.max_pool2d(net, pool_size=(3, 3), strides=(2, 2))
    net = _make_fire(net, 48, 192, 192, "fire6")
    net = _make_fire(net, 48, 192, 192, "fire7")
    net = _make_fire(net, 64, 256, 256, "fire8")
    net = _make_fire(net, 64, 256, 256, "fire9")
    net = relay.nn.dropout(net, rate=0.5)
    net = relay.nn.conv2d(net, relay.var("conv10_weight"), channels=num_classes, kernel_size=(1, 1))
    net = relay.nn.bias_add(net, relay.var("conv10_bias"))
    net = relay.nn.relu(net)
    net = relay.nn.global_avg_pool2d(net)
    net = relay.nn.softmax(net, axis=1)
    args = relay.analysis.free_vars(net)
    return relay.Function(args, net)