• V
    TensorFlow: upstream changes to git · 54a644f3
    Vijay Vasudevan 提交于
    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
    54a644f3
BUILD 22.5 KB