def is_boundary_node(node_entry, input_names):
    """Whether a node is a boundary node.
    Currently input node and nodes in LAYOUT_FIXED_OP are
    counted as boundary.

    Parameters
    ----------
    node_entry : dict
        Node entry.

    input_names : list of str
        List of input names of graph.

    Returns
    -------
    out : bool
        whether node is a boundary node.
    """
    # Operators dependent on original layouts.
    _LAYOUT_FIXED_OP = ["batch_flatten", "transpose", "reshape",
                        "multibox_prior", "multibox_transform_loc", "where",
                        "non_max_suppression", "strided_slice"]

    out = node_entry["op"] in _LAYOUT_FIXED_OP or \
          ("name" in node_entry and node_entry["name"] in input_names)
    return out