176db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# Copyright 2017 The TensorFlow Authors. All Rights Reserved.
276db97fe3961651617371902a1a623df61f9ed81Brennan Saeta#
376db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# Licensed under the Apache License, Version 2.0 (the "License");
476db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# you may not use this file except in compliance with the License.
576db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# You may obtain a copy of the License at
676db97fe3961651617371902a1a623df61f9ed81Brennan Saeta#
776db97fe3961651617371902a1a623df61f9ed81Brennan Saeta#     http://www.apache.org/licenses/LICENSE-2.0
876db97fe3961651617371902a1a623df61f9ed81Brennan Saeta#
976db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# Unless required by applicable law or agreed to in writing, software
1076db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# distributed under the License is distributed on an "AS IS" BASIS,
1176db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1276db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# See the License for the specific language governing permissions and
1376db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# limitations under the License.
1476db97fe3961651617371902a1a623df61f9ed81Brennan Saeta# ==============================================================================
1576db97fe3961651617371902a1a623df61f9ed81Brennan Saeta"""Helpers constructing Datasets."""
1676db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom __future__ import absolute_import
1776db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom __future__ import division
1876db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom __future__ import print_function
1976db97fe3961651617371902a1a623df61f9ed81Brennan Saeta
2076db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom tensorflow.python.framework import constant_op
2176db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom tensorflow.python.framework import dtypes
2276db97fe3961651617371902a1a623df61f9ed81Brennan Saetafrom tensorflow.python.framework import ops
2376db97fe3961651617371902a1a623df61f9ed81Brennan Saeta
2476db97fe3961651617371902a1a623df61f9ed81Brennan Saeta
2576db97fe3961651617371902a1a623df61f9ed81Brennan Saetadef optional_param_to_tensor(argument_name,
2676db97fe3961651617371902a1a623df61f9ed81Brennan Saeta                             argument_value,
2776db97fe3961651617371902a1a623df61f9ed81Brennan Saeta                             argument_default=0,
2876db97fe3961651617371902a1a623df61f9ed81Brennan Saeta                             argument_dtype=dtypes.int64):
2976db97fe3961651617371902a1a623df61f9ed81Brennan Saeta  if argument_value is not None:
3076db97fe3961651617371902a1a623df61f9ed81Brennan Saeta    return ops.convert_to_tensor(
3176db97fe3961651617371902a1a623df61f9ed81Brennan Saeta        argument_value, dtype=argument_dtype, name=argument_name)
3276db97fe3961651617371902a1a623df61f9ed81Brennan Saeta  else:
3376db97fe3961651617371902a1a623df61f9ed81Brennan Saeta    return constant_op.constant(
3476db97fe3961651617371902a1a623df61f9ed81Brennan Saeta        argument_default, dtype=argument_dtype, name=argument_name)
35