diff --git a/tensorflow/python/eager/function.py b/tensorflow/python/eager/function.py index 0de0cd96ac4..f3480ebb560 100644 --- a/tensorflow/python/eager/function.py +++ b/tensorflow/python/eager/function.py @@ -340,7 +340,7 @@ class Function(object): TypeError: For invalid positional/keyword argument combinations. """ if self._arg_keywords is None or self._num_positional_args is None: - if self._signature: + if self._signature is not None: if kwargs: raise NotImplementedError( "Keyword arguments not supported when calling a " diff --git a/tensorflow/python/eager/wrap_function_test.py b/tensorflow/python/eager/wrap_function_test.py index b32b6ca4269..d34e9228f33 100644 --- a/tensorflow/python/eager/wrap_function_test.py +++ b/tensorflow/python/eager/wrap_function_test.py @@ -19,6 +19,7 @@ from __future__ import print_function from tensorflow.python.eager import wrap_function +from tensorflow.python.framework import constant_op from tensorflow.python.framework import dtypes from tensorflow.python.framework import ops from tensorflow.python.framework import tensor_spec @@ -70,6 +71,14 @@ class WrapFunctionTest(test.TestCase): f_pruned = f_wrapped.prune(x_in[0], [x_out[0]]) self.assertAllEqual(f_pruned(ops.convert_to_tensor(2.0)), [4.0]) + def testNoArguments(self): + + def f(): + return constant_op.constant(1.) + + f_wrapped = wrap_function.wrap_function(f, []) + self.assertAllEqual(1.0, f_wrapped()) + if __name__ == '__main__': ops.enable_eager_execution()