Additionally:
- change single quotes to double quotes to make path rewriting easier
- guard windows lib reference with PLATFORM_WINDOWS
- fixed failing kmeans test
Change: 141515942
This is a more robust way to remove symbols than using
__all__. This also adds all caps in addition to "dunder"
versions: both tf.__git_version__ and tf.GIT_VERSION exist.
Change: 133336857
It is necessary to symlink in files from .git/ in order to make
bazel aware of changes to the current head. As it is this is not
completely reliable when git repositories are in a dirty index
state. First class support for bazel git a reported bug but
not a high priority.
./configure sets up the symlinks by calling the gen_git_source.py
a bazel genrule calls gen_git_source.py to generate version_info.cc
Also changed cmake and make to build this properly.
Change: 132328009
Since all GraphDef versions to date are forwards compatible, we make no attempt
to merge old-style and new-style GraphDef version information. The old int32
version field is ignored (and deprecated) and the new VersionDef versions field
defaults to producer 0, min_consumer 0 if left out.
As a benefit, once this CL is in we can immediately bump the scalar strictness
GraphDef version, since consumers will either ignore the new versions (before
this CL) or be forward compatible (after this CL).
Later, I'll use the same mechanism and protobuf to add versioning to checkpoints.
Change: 113091281
Change 109366961
TensorFlow BUILD: now that we have an ops library,
set linkstatic to 1. This fixes a breakage in the would-be
opensource build, and it *might* mean we can get rid of
all of the RequireDefaultOps() calls in our code.
The ops library is much smaller than the kernels library that was
previously linked together. We set linkstatic=0 presumably since we
didn't want to package a static copy of the kernels (very large)
everywhere. But the op definitions are small, so this seems like a
safe change to make. Time to build the various tests was not
any longer after this change, and inspecting the example_trainer
binary showed no large increase.
Change 109363613
TensorFlow: new graph_def_builder_test needs to RequireDefaultOps.
Change 109362569
Split ":ops" out of ":kernels" target in tensorflow/core.
Change 109360666
Catch dtype and some shape errors sooner in `QueueBase`.
Some avoidable errors were not being caught (e.g. the dtypes of the
enqueue components were not checked against the queue's dtypes in
Python), leading to cryptic messages at runtime. After this CL, they
will be caught earlier.
Change 109359569
TensorFlow: Expect g_ != nullptr in test
Change 109350735
Add a version number to GraphDef
We would like to be able to deprecate behavior in newly generated graphs
without invalidating tensorflow's ability to read and evaluate old graphs.
For this purpose, GraphDef now has a version field which can be checked inside
op kernels to determine how backwards compatible to be. version.h defines
TF_GRAPHDEF_VERSION_MIN and TF_GRAPHDEF_VERSION_MAX specifying the range of
supported GraphDef versions in the current version of tensorflow.
Also expose tf.__version__ and tf.__graph_def_version{,_min,_max}__ for Python
interrogation purposes.
Whenever we want to deprecate or change some GraphDef semantics, we will
proceed as follows:
1. Bump TF_GRAPHDEF_VERSION_MAX, leaving TF_GRAPHDEF_VERSION_MIN unchanged.
Describe the change in graph.proto, include the date introduced.
2. In each relevant kernel, implement the new behavior if the GraphDef version
is new, but preserve the old behavior for previous GraphDef versions.
3. Wait six months or so (we need to formalize this somewhere).
4. Bump TF_GRAPHDEF_VERSION_MIN and remove the backwards compatibility.
The GraphDef version is distinct from the open source version, but at least
(4) and possibly (1) correspond to major version number bumps.
The first GraphDef version bump is the upcoming scalar strictness change,
which affects Google users only since open source is already scalar strict.
This commit does not yet plumb the version number into OpKernelConstruction
so that ops can access it. That will follow.
Change 109350260
Made TensorShapeProto implicitly convertible to TensorShape.
Base CL: 109366982