def _slice(converter, node, inputs):
    x_in = converter.outputs[inputs[0]]
    begin = _nodef_to_numpy_array(converter.outputs[inputs[1]])
    size = _nodef_to_numpy_array(converter.outputs[inputs[2]])
    if isinstance(x_in, tf.NodeDef):
        input_out = _nodef_to_private_pond(converter, x_in)
    else:
        input_out = x_in
    end = np.zeros(len(begin))
    input_shape = x_in.shape.as_list()
    for i in range(len(end)):
        if (size[i] < 0):
            end[i] = ((input_shape[i] - size[i]) + 1)
        else:
            end[i] = (begin[i] + size[i])
    return converter.protocol.strided_slice(input_out, begin, end)
def _slice(converter, node, inputs):
    x_in = converter.outputs[inputs[0]]
    begin = _nodef_to_numpy_array(converter.outputs[inputs[1]])
    size = _nodef_to_numpy_array(converter.outputs[inputs[2]])
    if isinstance(x_in, tf.NodeDef):
        input_out = _nodef_to_private_pond(converter, x_in)
    else:
        input_out = x_in
    end = np.zeros(len(begin))
    input_shape = x_in.shape.as_list()
    for i in range(len(end)):
        if (size[i] < 0):
            end[i] = ((input_shape[i] - size[i]) + 1)
        else:
            end[i] = (begin[i] + size[i])
    return converter.protocol.strided_slice(input_out, begin, end)