"//tensorflow/contrib:all_files",
"//tensorflow/contrib/all_reduce:all_files",
"//tensorflow/contrib/android:all_files",
+ "//tensorflow/contrib/autograph:all_files",
+ "//tensorflow/contrib/autograph/converters:all_files",
+ "//tensorflow/contrib/autograph/impl:all_files",
+ "//tensorflow/contrib/autograph/pyct:all_files",
+ "//tensorflow/contrib/autograph/pyct/static_analysis:all_files",
+ "//tensorflow/contrib/autograph/utils:all_files",
"//tensorflow/contrib/batching:all_files",
"//tensorflow/contrib/bayesflow:all_files",
"//tensorflow/contrib/boosted_trees:all_files",
"//tensorflow/contrib/opt:all_files",
"//tensorflow/contrib/periodic_resample:all_files",
"//tensorflow/contrib/predictor:all_files",
- "//tensorflow/contrib/py2tf:all_files",
- "//tensorflow/contrib/py2tf/converters:all_files",
- "//tensorflow/contrib/py2tf/impl:all_files",
- "//tensorflow/contrib/py2tf/pyct:all_files",
- "//tensorflow/contrib/py2tf/pyct/static_analysis:all_files",
- "//tensorflow/contrib/py2tf/utils:all_files",
"//tensorflow/contrib/quantize:all_files",
"//tensorflow/contrib/receptive_field:all_files",
"//tensorflow/contrib/reduce_slice_ops:all_files",
"//tensorflow/contrib/predictor",
"//tensorflow/contrib/quantization:quantization_py",
"//tensorflow/contrib/quantize:quantize_graph",
- "//tensorflow/contrib/py2tf",
+ "//tensorflow/contrib/autograph",
"//tensorflow/contrib/receptive_field:receptive_field_py",
"//tensorflow/contrib/reduce_slice_ops:reduce_slice_ops_py",
"//tensorflow/contrib/remote_fused_graph/pylib:remote_fused_graph_ops_py",
)
py_library(
- name = "py2tf",
+ name = "autograph",
srcs = [
"__init__.py",
],
srcs_version = "PY2AND3",
visibility = ["//visibility:public"],
deps = [
- "//tensorflow/contrib/py2tf/impl",
- "//tensorflow/contrib/py2tf/pyct",
- "//tensorflow/contrib/py2tf/utils",
+ "//tensorflow/contrib/autograph/impl",
+ "//tensorflow/contrib/autograph/pyct",
+ "//tensorflow/contrib/autograph/utils",
"@gast_archive//:gast",
"@six_archive//:six",
],
-# Py2TF
+# Autograph
A compiler for generating TensorFlow numeric and control flow ops from Python
code.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-"""Py2TF compiles Python code into equivalent TensorFlow code.
+"""Autograph compiles Python code into equivalent TensorFlow code.
Equivalent here means that they have the same effect when executed.
"""
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.impl.api import convert
-from tensorflow.contrib.py2tf.impl.api import converted_call
-from tensorflow.contrib.py2tf.impl.api import do_not_convert
-from tensorflow.contrib.py2tf.impl.api import RunMode
-from tensorflow.contrib.py2tf.impl.api import to_code
-from tensorflow.contrib.py2tf.impl.api import to_graph
-from tensorflow.contrib.py2tf.pyct.transformer import PyFlowParseError
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.impl.api import convert
+from tensorflow.contrib.autograph.impl.api import converted_call
+from tensorflow.contrib.autograph.impl.api import do_not_convert
+from tensorflow.contrib.autograph.impl.api import RunMode
+from tensorflow.contrib.autograph.impl.api import to_code
+from tensorflow.contrib.autograph.impl.api import to_graph
+from tensorflow.contrib.autograph.pyct.transformer import AutographParseError
from tensorflow.python.util.all_util import remove_undocumented
_allowed_symbols = [
'utils', 'convert', 'converted_call', 'do_not_convert', 'RunMode',
- 'to_code', 'to_graph', 'PyFlowParseError'
+ 'to_code', 'to_graph', 'AutographParseError'
]
remove_undocumented(__name__, _allowed_symbols)
visibility = ["//tensorflow:__subpackages__"],
deps = [
":converters",
- "//tensorflow/contrib/py2tf/pyct",
- "//tensorflow/contrib/py2tf/pyct/static_analysis",
- "//tensorflow/contrib/py2tf/utils",
+ "//tensorflow/contrib/autograph/pyct",
+ "//tensorflow/contrib/autograph/pyct/static_analysis",
+ "//tensorflow/contrib/autograph/utils",
"@gast_archive//:gast",
"@six_archive//:six",
],
py_test(
name = "call_trees_test",
+ size = "large",
srcs = ["call_trees_test.py"],
srcs_version = "PY2AND3",
deps = [
":test_lib",
- "//tensorflow/contrib/py2tf/impl",
+ "//tensorflow/contrib/autograph/impl",
"//tensorflow/python:client_testlib",
],
)
srcs = ["name_scopes_test.py"],
deps = [
":test_lib",
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"//tensorflow/python:client_testlib",
],
)
srcs_version = "PY2AND3",
deps = [
":test_lib",
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"//tensorflow/python:client_testlib",
],
)
srcs_version = "PY2AND3",
deps = [
":test_lib",
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"//tensorflow/python:client_testlib",
],
)
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-"""Code converters used by Py2TF."""
+"""Code converters used by Autograph."""
from __future__ import absolute_import
from __future__ import division
import gast
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
class AssertsTransformer(transformer.Base):
import gast
-from tensorflow.contrib.py2tf.converters import asserts
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import asserts
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class BreakCanonicalizationTransformer(transformer.Base):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import break_statements
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import break_statements
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
class BuiltinFunctionTransformer(transformer.Base):
def _convert_builtin(self, node):
template = """
- py2tf_utils.dynamic_builtin(func, args)
+ autograph_utils.dynamic_builtin(func, args)
"""
return templates.replace(template, func=node.func, args=node.args)[0].value
def _convert_print(self, node):
template = """
- py2tf_utils.dynamic_print(args)
+ autograph_utils.dynamic_print(args)
"""
return templates.replace(template, args=node.args)[0].value
import six
-from tensorflow.contrib.py2tf.converters import builtin_functions
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import builtin_functions
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.framework import constant_op
from tensorflow.python.ops import array_ops
from tensorflow.python.ops import logging_ops
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import inspect_utils
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import inspect_utils
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
from tensorflow.python.util import tf_inspect
def _wrap_to_py_func_no_return(self, node):
# TODO(mdan): Properly handle varargs, etc.
template = """
- py2tf_utils.wrap_py_func(func, None, (args,), kwargs, True)
+ autograph_utils.wrap_py_func(func, None, (args,), kwargs, True)
"""
return templates.replace(
template,
def _wrap_to_py_func_single_return(self, node, dtype):
# TODO(mdan): Properly handle varargs, etc.
template = """
- py2tf_utils.wrap_py_func(func, dtype, (args,), kwargs, False)
+ autograph_utils.wrap_py_func(func, dtype, (args,), kwargs, False)
"""
return templates.replace_as_expression(
template,
# Before we could convert all the time though, we'd need a reasonable
# caching mechanism.
template = """
- py2tf_api.converted_call(func, True, False, {}, args)
+ autograph_api.converted_call(func, True, False, {}, args)
"""
- call_expr = templates.replace(
- template, func=node.func, args=node.args)
+ call_expr = templates.replace(template, func=node.func, args=node.args)
new_call = call_expr[0].value
# TODO(mdan): Improve the template mechanism to better support this.
new_call.keywords = node.keywords
import numpy as np
-from tensorflow.contrib.py2tf.converters import call_trees
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import call_trees
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import dtypes
from tensorflow.python.framework import ops
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class ContinueCanonicalizationTransformer(transformer.Base):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import continue_statements
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import continue_statements
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class SymbolNamer(object):
def _create_cond_expr(self, results, test, body_name, orelse_name):
if results is not None:
template = """
- results = py2tf_utils.run_cond(test, body_name, orelse_name)
+ results = autograph_utils.run_cond(test, body_name, orelse_name)
"""
return templates.replace(
template,
orelse_name=orelse_name)
else:
template = """
- py2tf_utils.run_cond(test, body_name, orelse_name)
+ autograph_utils.run_cond(test, body_name, orelse_name)
"""
return templates.replace(
template, test=test, body_name=body_name, orelse_name=orelse_name)
def body_name(state_ssf):
body
return state_ssf,
- state_ast_tuple = py2tf_utils.run_while(test_name, body_name, [state])
+ state_ast_tuple = autograph_utils.run_while(test_name, body_name, [state])
"""
node = templates.replace(
template,
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import control_flow
-from tensorflow.contrib.py2tf.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import control_flow
+from tensorflow.contrib.autograph.converters import converter_test_base
from tensorflow.python.framework import constant_op
from tensorflow.python.ops import control_flow_ops
from tensorflow.python.platform import test
import contextlib
import imp
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import context
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import pretty_printer
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.static_analysis import activity
-from tensorflow.contrib.py2tf.pyct.static_analysis import live_values
-from tensorflow.contrib.py2tf.pyct.static_analysis import type_info
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import context
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import pretty_printer
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.static_analysis import activity
+from tensorflow.contrib.autograph.pyct.static_analysis import live_values
+from tensorflow.contrib.autograph.pyct.static_analysis import type_info
from tensorflow.python.platform import test
try:
result, source = compiler.ast_to_object(node)
result.tf = self.make_fake_mod('fake_tf', *symbols)
- result.py2tf_utils = utils
- result.py2tf_api = self.make_fake_mod('fake_api', converted_call)
+ result.autograph_utils = utils
+ result.autograph_api = self.make_fake_mod('fake_api', converted_call)
yield result
except Exception: # pylint:disable=broad-except
if source is None:
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import pretty_printer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import pretty_printer
class DecoratorsTransformer(gast.NodeTransformer):
from functools import wraps
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import decorators
-from tensorflow.contrib.py2tf.pyct import compiler
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import decorators
+from tensorflow.contrib.autograph.pyct import compiler
from tensorflow.python.platform import test
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class ForLoopCanonicalizationTransformer(transformer.Base):
if anno.hasanno(node, 'extra_cond'):
template = """
i = 0
- smart_loop_iter = py2tf_utils.dynamic_dataset(loop_iter)
- cont, target = py2tf_utils.dynamic_for_cond(i, smart_loop_iter)
+ smart_loop_iter = autograph_utils.dynamic_dataset(loop_iter)
+ cont, target = autograph_utils.dynamic_for_cond(i, smart_loop_iter)
while cont and extra_cond:
body
i += 1
- cont, target = py2tf_utils.dynamic_for_cond(i, smart_loop_iter)
+ cont, target = autograph_utils.dynamic_for_cond(i, smart_loop_iter)
"""
return templates.replace(
template,
else:
template = """
i = 0
- smart_loop_iter = py2tf_utils.dynamic_dataset(loop_iter)
- cont, target = py2tf_utils.dynamic_for_cond(i, smart_loop_iter)
+ smart_loop_iter = autograph_utils.dynamic_dataset(loop_iter)
+ cont, target = autograph_utils.dynamic_for_cond(i, smart_loop_iter)
while cont:
body
i += 1
- cont, target = py2tf_utils.dynamic_for_cond(i, smart_loop_iter)
+ cont, target = autograph_utils.dynamic_for_cond(i, smart_loop_iter)
"""
repl = templates.replace(
template,
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import for_loops
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import for_loops
from tensorflow.python.platform import test
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
class IfExp(transformer.Base):
def visit_IfExp(self, node):
template = """
- py2tf_utils.run_cond(test, lambda: body, lambda: orelse)
+ autograph_utils.run_cond(test, lambda: body, lambda: orelse)
"""
desugared_ifexp = templates.replace_as_expression(
template, test=node.test, body=node.body, orelse=node.orelse)
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import ifexp
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import ifexp
from tensorflow.python.platform import test
return 1 if x else 0
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
for x in [0, 1]:
self.assertEqual(test_fn(x), result.test_fn(x))
return y
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
result.f = f
for x in [-2, 2]:
self.assertEqual(test_fn(x), result.test_fn(x))
return x * x if x > 0 else x
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
for x in [-2, 2]:
self.assertEqual(test_fn(x), result.test_fn(x))
return x * x if x > 0 else x if x else 1
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
for x in [-2, 0, 2]:
self.assertEqual(test_fn(x), result.test_fn(x))
return -x
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
for x in [-2, 2, 5]:
self.assertEqual(test_fn(x), result.test_fn(x))
return x
with self.compiled_fn(test_fn) as result:
- result.py2tf_util = utils
+ result.autograph_util = utils
for x in [-2, 2, 5]:
self.assertEqual(test_fn(x), result.test_fn(x))
import gast
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
class ListCompCanonicalizationTransformer(transformer.Base):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import list_comprehension
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import list_comprehension
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
from tensorflow.python.framework import dtypes
if qn.qn[-1] == 'append' and (len(call_node.args) == 1):
template = """
- target = py2tf_utils.dynamic_list_append(target, element)
+ target = autograph_utils.dynamic_list_append(target, element)
"""
node = templates.replace(
template,
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import lists
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import lists
from tensorflow.python.framework import dtypes
from tensorflow.python.ops import tensor_array_ops
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
# TODO(mdan): Properly extrack boolean ops according to lazy eval rules.
gast.NotEq: 'tf.not_equal',
gast.Or: 'tf.logical_or',
gast.USub: 'tf.negative',
- gast.Is: 'py2tf_utils.dynamic_is',
- gast.IsNot: 'py2tf_utils.dynamic_is_not'
+ gast.Is: 'autograph_utils.dynamic_is',
+ gast.IsNot: 'autograph_utils.dynamic_is_not'
}
def _expect_simple_symbol(self, operand):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import logical_expressions
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import logical_expressions
from tensorflow.python.ops import math_ops
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
class FunctionNameScopeTransformer(transformer.Base):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import name_scopes
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import name_scopes
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import ops
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class SymbolNamer(object):
[alias_map.get(s, s).ast() for s in guarded_args], None)
template = """
- with py2tf_utils.control_dependency_on_returns(call):
- aliased_guarded_args = py2tf_utils.alias_tensors(guarded_args)
+ with autograph_utils.control_dependency_on_returns(call):
+ aliased_guarded_args = autograph_utils.alias_tensors(guarded_args)
"""
control_deps_guard = templates.replace(
template,
alias_map = {}
template = """
- with py2tf_utils.control_dependency_on_returns(call):
+ with autograph_utils.control_dependency_on_returns(call):
pass
"""
control_deps_guard = templates.replace(template, call=node.value)[-1]
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import side_effect_guards
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import side_effect_guards
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import errors_impl
from tensorflow.python.framework import ops
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import templates
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import templates
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
# TODO(mdan): Move this logic into transformer_base.
def visit_Return(self, node):
if self.cant_return:
raise ValueError(
- 'Pyflow currently does not support `return` statements in loops. '
+ '`return` statements are not supported in loops. '
'Try assigning to a variable in the while loop, and returning '
'outside of the loop')
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.converters import converter_test_base
-from tensorflow.contrib.py2tf.converters import single_return
+from tensorflow.contrib.autograph.converters import converter_test_base
+from tensorflow.contrib.autograph.converters import single_return
from tensorflow.python.framework.ops import name_scope
from tensorflow.python.platform import test
srcs_version = "PY2AND3",
visibility = ["//tensorflow:__subpackages__"],
deps = [
- "//tensorflow/contrib/py2tf/converters",
- "//tensorflow/contrib/py2tf/pyct",
- "//tensorflow/contrib/py2tf/pyct/static_analysis",
- "//tensorflow/contrib/py2tf/utils",
+ "//tensorflow/contrib/autograph/converters",
+ "//tensorflow/contrib/autograph/pyct",
+ "//tensorflow/contrib/autograph/pyct/static_analysis",
+ "//tensorflow/contrib/autograph/utils",
"@gast_archive//:gast",
"@six_archive//:six",
],
srcs_version = "PY2AND3",
deps = [
":impl",
- "//tensorflow/contrib/py2tf/utils",
+ "//tensorflow/contrib/autograph/utils",
"//tensorflow/python:client_testlib",
"//third_party/py/numpy",
],
import six
# pylint:enable=g-bad-import-order
-from tensorflow.contrib.py2tf.impl import config
-from tensorflow.contrib.py2tf.impl import conversion
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import inspect_utils
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.utils import builtins
-from tensorflow.contrib.py2tf.utils import py_func
+from tensorflow.contrib.autograph.impl import config
+from tensorflow.contrib.autograph.impl import conversion
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import inspect_utils
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.utils import builtins
+from tensorflow.contrib.autograph.utils import py_func
from tensorflow.python.platform import tf_logging as logging
from tensorflow.python.util import tf_inspect
Args:
run_as: RunMode value. Whether to run the function as-is, or wrap it into
a py_func.
- return_dtypes: See py2tf.utils.py_func.wrap_py_func. Setting to None or
+ return_dtypes: See autograph.utils.py_func.wrap_py_func. Setting to None or
empty list or tuple will create a dummy return value that can be used
to set control dependencies.
import numpy as np
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.impl import api
-from tensorflow.contrib.py2tf.impl import config
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.utils import py_func
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.impl import api
+from tensorflow.contrib.autograph.impl import config
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.utils import py_func
from tensorflow.python.framework import constant_op
from tensorflow.python.platform import test
def setUp(self):
config.COMPILED_IMPORT_STATEMENTS = (
'from __future__ import print_function',
- 'from tensorflow.contrib.py2tf import utils as '
- 'py2tf_utils',
- 'tf = py2tf_utils.fake_tf()'
- )
+ 'from tensorflow.contrib.autograph import utils as '
+ 'autograph_utils', 'tf = autograph_utils.fake_tf()')
def test_decorator_recurses(self):
compiled_code = api.to_code(test_fn)
# Just check for some key words and that it is parseable Python code.
- self.assertRegexpMatches(compiled_code, 'py2tf_utils\\.run_while')
+ self.assertRegexpMatches(compiled_code, 'autograph_utils\\.run_while')
self.assertIsNotNone(parser.parse_str(compiled_code))
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf import utils
+from tensorflow.contrib.autograph import utils
PYTHON_LITERALS = {
# All of tensorflow's subpackages. Unlike the root tf module, they don't
# have well-known names. Not refering to the module directly to avoid
# circular imports.
- (utils.__name__[:-len('.contrib.py2tf.utils')],),
+ (
+ utils.__name__[:-len('.contrib.autograph.utils')],),
))
NO_SIDE_EFFECT_CONSTRUCTORS = set(('tensorflow',))
# TODO(mdan): Also allow controlling the generated names (for testability).
COMPILED_IMPORT_STATEMENTS = (
- 'from __future__ import print_function',
- 'import tensorflow as tf',
- 'from tensorflow.contrib.py2tf.impl import api as '
- 'py2tf_api',
- 'from tensorflow.contrib.py2tf import utils as '
- 'py2tf_utils')
+ 'from __future__ import print_function', 'import tensorflow as tf',
+ 'from tensorflow.contrib.autograph.impl import api as '
+ 'autograph_api',
+ 'from tensorflow.contrib.autograph import utils as '
+ 'autograph_utils')
import gast
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.converters import asserts
-from tensorflow.contrib.py2tf.converters import break_statements
-from tensorflow.contrib.py2tf.converters import builtin_functions
-from tensorflow.contrib.py2tf.converters import call_trees
-from tensorflow.contrib.py2tf.converters import continue_statements
-from tensorflow.contrib.py2tf.converters import control_flow
-from tensorflow.contrib.py2tf.converters import decorators
-from tensorflow.contrib.py2tf.converters import for_loops
-from tensorflow.contrib.py2tf.converters import ifexp
-from tensorflow.contrib.py2tf.converters import lists
-from tensorflow.contrib.py2tf.converters import logical_expressions
-from tensorflow.contrib.py2tf.converters import name_scopes
-from tensorflow.contrib.py2tf.converters import side_effect_guards
-from tensorflow.contrib.py2tf.converters import single_return
-from tensorflow.contrib.py2tf.impl import config
-from tensorflow.contrib.py2tf.impl import naming
-from tensorflow.contrib.py2tf.pyct import context
-from tensorflow.contrib.py2tf.pyct import inspect_utils
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.static_analysis import activity
-from tensorflow.contrib.py2tf.pyct.static_analysis import live_values
-from tensorflow.contrib.py2tf.pyct.static_analysis import type_info
-from tensorflow.contrib.py2tf.utils import type_hints
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.converters import asserts
+from tensorflow.contrib.autograph.converters import break_statements
+from tensorflow.contrib.autograph.converters import builtin_functions
+from tensorflow.contrib.autograph.converters import call_trees
+from tensorflow.contrib.autograph.converters import continue_statements
+from tensorflow.contrib.autograph.converters import control_flow
+from tensorflow.contrib.autograph.converters import decorators
+from tensorflow.contrib.autograph.converters import for_loops
+from tensorflow.contrib.autograph.converters import ifexp
+from tensorflow.contrib.autograph.converters import lists
+from tensorflow.contrib.autograph.converters import logical_expressions
+from tensorflow.contrib.autograph.converters import name_scopes
+from tensorflow.contrib.autograph.converters import side_effect_guards
+from tensorflow.contrib.autograph.converters import single_return
+from tensorflow.contrib.autograph.impl import config
+from tensorflow.contrib.autograph.impl import naming
+from tensorflow.contrib.autograph.pyct import context
+from tensorflow.contrib.autograph.pyct import inspect_utils
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.static_analysis import activity
+from tensorflow.contrib.autograph.pyct.static_analysis import live_values
+from tensorflow.contrib.autograph.pyct.static_analysis import type_info
+from tensorflow.contrib.autograph.utils import type_hints
from tensorflow.python.util import tf_inspect
def _add_self_references(namespace, api_module):
"""Self refs are only required for analysis and are not used directly."""
# Manually add the utils namespace which may be used from generated code.
- if 'py2tf_util' not in namespace:
- namespace['py2tf_utils'] = utils
- elif namespace['py2tf_utils'] != utils:
+ if 'autograph_util' not in namespace:
+ namespace['autograph_utils'] = utils
+ elif namespace['autograph_utils'] != utils:
raise ValueError(
- 'The module name "py2tf_utils" is reserved and may not be used.')
+ 'The module name "autograph_utils" is reserved and may not be used.')
# We also make reference to the api module for dynamic conversion, but
# to avoid circular references we don't import it here.
- if 'py2tf_api' not in namespace:
- namespace['py2tf_api'] = api_module
- elif namespace['py2tf_api'] != api_module:
+ if 'autograph_api' not in namespace:
+ namespace['autograph_api'] = api_module
+ elif namespace['autograph_api'] != api_module:
raise ValueError(
- 'The module name "py2tf_api" is reserved and may not be used.')
+ 'The module name "autograph_api" is reserved and may not be used.')
def function_to_graph(f, conversion_map, arg_values, arg_types,
import gast
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.impl import conversion
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.impl import conversion
from tensorflow.python.framework import constant_op
from tensorflow.python.platform import test
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.pyct import qual_names
+from tensorflow.contrib.autograph.pyct import qual_names
class Namer(object):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.impl import naming
+from tensorflow.contrib.autograph.impl import naming
from tensorflow.python.platform import test
import ast
-from tensorflow.contrib.py2tf.pyct import anno
+from tensorflow.contrib.autograph.pyct import anno
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
+from tensorflow.contrib.autograph.pyct import anno
class CleanCopier(gast.NodeVisitor):
import ast
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import parser
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import parser
from tensorflow.python.platform import test
from tensorflow.python.util import tf_inspect
import six
-from tensorflow.contrib.py2tf.pyct import inspect_utils
+from tensorflow.contrib.autograph.pyct import inspect_utils
from tensorflow.python.platform import test
import textwrap
-from tensorflow.contrib.py2tf.pyct import parser
+from tensorflow.contrib.autograph.pyct import parser
from tensorflow.python.platform import test
import ast
-from tensorflow.contrib.py2tf.pyct import pretty_printer
+from tensorflow.contrib.autograph.pyct import pretty_printer
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
+from tensorflow.contrib.autograph.pyct import anno
class Symbol(collections.namedtuple('Symbol', ['name'])):
import textwrap
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.qual_names import QN
-from tensorflow.contrib.py2tf.pyct.qual_names import resolve
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.qual_names import QN
+from tensorflow.contrib.autograph.pyct.qual_names import resolve
from tensorflow.python.platform import test
srcs_version = "PY2AND3",
visibility = ["//visibility:public"],
deps = [
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"@gast_archive//:gast",
],
)
srcs_version = "PY2AND3",
deps = [
":static_analysis",
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"//tensorflow/python:client_testlib",
"@gast_archive//:gast",
],
srcs_version = "PY2AND3",
deps = [
":static_analysis",
- "//tensorflow/contrib/py2tf/pyct",
+ "//tensorflow/contrib/autograph/pyct",
"//tensorflow/python:client_testlib",
],
)
srcs_version = "PY2AND3",
deps = [
":static_analysis",
- "//tensorflow/contrib/py2tf/pyct",
- "//tensorflow/contrib/py2tf/utils",
+ "//tensorflow/contrib/autograph/pyct",
+ "//tensorflow/contrib/autograph/utils",
"//tensorflow/python:client_testlib",
],
)
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.qual_names import QN
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.qual_names import QN
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
# TODO(mdan): Add support for PY3 (e.g. Param vs arg).
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import context
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.qual_names import QN
-from tensorflow.contrib.py2tf.pyct.static_analysis import activity
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import context
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.qual_names import QN
+from tensorflow.contrib.autograph.pyct.static_analysis import activity
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import transformer
-from tensorflow.contrib.py2tf.pyct.static_analysis.annos import NodeAnno
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import transformer
+from tensorflow.contrib.autograph.pyct.static_analysis.annos import NodeAnno
class LiveValueResolver(transformer.Base):
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import context
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.static_analysis import activity
-from tensorflow.contrib.py2tf.pyct.static_analysis import live_values
-from tensorflow.contrib.py2tf.pyct.static_analysis import type_info
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import context
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.static_analysis import activity
+from tensorflow.contrib.autograph.pyct.static_analysis import live_values
+from tensorflow.contrib.autograph.pyct.static_analysis import type_info
from tensorflow.python.framework import constant_op
from tensorflow.python.platform import test
import gast
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import transformer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import transformer
from tensorflow.python.util import tf_inspect
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf import utils
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import context
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
-from tensorflow.contrib.py2tf.pyct.static_analysis import activity
-from tensorflow.contrib.py2tf.pyct.static_analysis import live_values
-from tensorflow.contrib.py2tf.pyct.static_analysis import type_info
+from tensorflow.contrib.autograph import utils
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import context
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
+from tensorflow.contrib.autograph.pyct.static_analysis import activity
+from tensorflow.contrib.autograph.pyct.static_analysis import live_values
+from tensorflow.contrib.autograph.pyct.static_analysis import type_info
from tensorflow.python.client import session
from tensorflow.python.platform import test
from tensorflow.python.training import training
import gast
-from tensorflow.contrib.py2tf.pyct import ast_util
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import qual_names
+from tensorflow.contrib.autograph.pyct import ast_util
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import qual_names
class ReplaceTransformer(gast.NodeTransformer):
import gast
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import parser
-from tensorflow.contrib.py2tf.pyct import templates
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import parser
+from tensorflow.contrib.autograph.pyct import templates
from tensorflow.python.platform import test
import gast
import six
-from tensorflow.contrib.py2tf.pyct import anno
-from tensorflow.contrib.py2tf.pyct import compiler
-from tensorflow.contrib.py2tf.pyct import pretty_printer
+from tensorflow.contrib.autograph.pyct import anno
+from tensorflow.contrib.autograph.pyct import compiler
+from tensorflow.contrib.autograph.pyct import pretty_printer
-class PyFlowParseError(SyntaxError):
+class AutographParseError(SyntaxError):
pass
line = source_code.splitlines()[self._lineno - 1]
else:
line = '<no source available>'
- six.reraise(PyFlowParseError,
- PyFlowParseError(
+ six.reraise(AutographParseError,
+ AutographParseError(
msg,
(source_file, self._lineno, self._col_offset + 1, line)),
sys.exc_info()[2])
--- /dev/null
+# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ==============================================================================
+"""Utility module that contains APIs usable in the generated code."""
+
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+from tensorflow.contrib.autograph.utils.builtins import dynamic_builtin
+from tensorflow.contrib.autograph.utils.builtins import dynamic_dataset
+from tensorflow.contrib.autograph.utils.builtins import dynamic_for_cond
+from tensorflow.contrib.autograph.utils.builtins import dynamic_print
+from tensorflow.contrib.autograph.utils.builtins import dynamic_range
+from tensorflow.contrib.autograph.utils.context_managers import control_dependency_on_returns
+from tensorflow.contrib.autograph.utils.misc import alias_tensors
+from tensorflow.contrib.autograph.utils.multiple_dispatch import dynamic_is
+from tensorflow.contrib.autograph.utils.multiple_dispatch import dynamic_is_not
+from tensorflow.contrib.autograph.utils.multiple_dispatch import run_cond
+from tensorflow.contrib.autograph.utils.multiple_dispatch import run_while
+from tensorflow.contrib.autograph.utils.py_func import wrap_py_func
+from tensorflow.contrib.autograph.utils.tensor_list import dynamic_list_append
+from tensorflow.contrib.autograph.utils.testing import fake_tf
+from tensorflow.contrib.autograph.utils.type_check import is_tensor
+from tensorflow.contrib.autograph.utils.type_hints import set_element_type
import six
-from tensorflow.contrib.py2tf.utils import py_func
-from tensorflow.contrib.py2tf.utils import type_check
+from tensorflow.contrib.autograph.utils import py_func
+from tensorflow.contrib.autograph.utils import type_check
from tensorflow.python.data.ops import dataset_ops
from tensorflow.python.framework import tensor_util
from tensorflow.python.ops import array_ops
import six
-from tensorflow.contrib.py2tf.utils import builtins
+from tensorflow.contrib.autograph.utils import builtins
from tensorflow.python.framework import constant_op
from tensorflow.python.platform import test
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.utils import context_managers
+from tensorflow.contrib.autograph.utils import context_managers
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import dtypes
from tensorflow.python.ops import tensor_array_ops
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.utils.misc import alias_tensors
+from tensorflow.contrib.autograph.utils.misc import alias_tensors
from tensorflow.python.framework.constant_op import constant
from tensorflow.python.ops.variables import Variable
from tensorflow.python.platform import test
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-"""Utilities for type-dependent behavior used in py2tf-generated code."""
+"""Utilities for type-dependent behavior used in autograph-generated code."""
from __future__ import absolute_import
from __future__ import division
import six
-from tensorflow.contrib.py2tf.utils.type_check import is_tensor
+from tensorflow.contrib.autograph.utils.type_check import is_tensor
from tensorflow.python.ops import control_flow_ops
import numpy as np
-from tensorflow.contrib.py2tf.utils import multiple_dispatch
+from tensorflow.contrib.autograph.utils import multiple_dispatch
from tensorflow.python.client.session import Session
from tensorflow.python.framework.constant_op import constant
from tensorflow.python.platform import test
assert isinstance(return_dtypes, dtypes.DType)
def f_wrapper(*tensor_args):
- f_args = tuple(
- tensor_args[tensor_args_idx[i]] if arg_is_tensor[i] else a
- for i, a in enumerate(args))
+ f_args = tuple(tensor_args[tensor_args_idx[i]] if arg_is_tensor[i] else a
+ for i, a in enumerate(args))
f_kwargs = {
k: tensor_args[tensor_args_idx[k]] if kwarg_is_tensor[k] else kwargs[k]
for i, k in enumerate(kwarg_keys)
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.utils import py_func
+from tensorflow.contrib.autograph.utils import py_func
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import dtypes
from tensorflow.python.platform import test
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-"""Tests for PyFlow list."""
+"""Tests for Autograph lists."""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
-from tensorflow.contrib.py2tf.utils import tensor_list as tl
+from tensorflow.contrib.autograph.utils import tensor_list as tl
from tensorflow.python.client.session import Session
from tensorflow.python.eager import context
from tensorflow.python.framework import dtypes
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
-"""Utilities used in py2tf-generated code."""
+"""Utilities used in autograph-generated code."""
from __future__ import absolute_import
from __future__ import division
import numpy
-from tensorflow.contrib.py2tf.utils import type_check
+from tensorflow.contrib.autograph.utils import type_check
from tensorflow.python.framework import constant_op
from tensorflow.python.framework import test_util
from tensorflow.python.platform import test
+++ /dev/null
-# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ==============================================================================
-"""Utility module that contains APIs usable in the generated code."""
-
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-
-from tensorflow.contrib.py2tf.utils.builtins import dynamic_builtin
-from tensorflow.contrib.py2tf.utils.builtins import dynamic_dataset
-from tensorflow.contrib.py2tf.utils.builtins import dynamic_for_cond
-from tensorflow.contrib.py2tf.utils.builtins import dynamic_print
-from tensorflow.contrib.py2tf.utils.builtins import dynamic_range
-from tensorflow.contrib.py2tf.utils.context_managers import control_dependency_on_returns
-from tensorflow.contrib.py2tf.utils.misc import alias_tensors
-from tensorflow.contrib.py2tf.utils.multiple_dispatch import dynamic_is
-from tensorflow.contrib.py2tf.utils.multiple_dispatch import dynamic_is_not
-from tensorflow.contrib.py2tf.utils.multiple_dispatch import run_cond
-from tensorflow.contrib.py2tf.utils.multiple_dispatch import run_while
-from tensorflow.contrib.py2tf.utils.py_func import wrap_py_func
-from tensorflow.contrib.py2tf.utils.tensor_list import dynamic_list_append
-from tensorflow.contrib.py2tf.utils.testing import fake_tf
-from tensorflow.contrib.py2tf.utils.type_check import is_tensor
-from tensorflow.contrib.py2tf.utils.type_hints import set_element_type
"//tensorflow/contrib/lite/toco/python:toco_from_protos",
"//tensorflow/contrib/nn:nn_py",
"//tensorflow/contrib/predictor:predictor_pip",
- "//tensorflow/contrib/py2tf:py2tf",
- "//tensorflow/contrib/py2tf/converters:converters",
- "//tensorflow/contrib/py2tf/converters:test_lib",
- "//tensorflow/contrib/py2tf/impl:impl",
- "//tensorflow/contrib/py2tf/pyct:pyct",
- "//tensorflow/contrib/py2tf/pyct/static_analysis:static_analysis",
+ "//tensorflow/contrib/autograph:autograph",
+ "//tensorflow/contrib/autograph/converters:converters",
+ "//tensorflow/contrib/autograph/converters:test_lib",
+ "//tensorflow/contrib/autograph/impl:impl",
+ "//tensorflow/contrib/autograph/pyct:pyct",
+ "//tensorflow/contrib/autograph/pyct/static_analysis:static_analysis",
"//tensorflow/contrib/receptive_field:receptive_field_pip",
"//tensorflow/contrib/session_bundle:session_bundle_pip",
"//tensorflow/contrib/signal:signal_py",