| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
state of a function to be executed, separating it out from the non instantiated regular state such as function name, captured inputs etc.
This allows us to truly separate Dataset kernel creation from Iterator creation i.e. each time a dataset is created that uses functions, we create only a CapturedFunction whereas we create an InstantiatedCapturedFunction each time a new iterator is created.
PiperOrigin-RevId: 213456128
|
|
|
|
| |
PiperOrigin-RevId: 213453719
|
|
|
|
| |
PiperOrigin-RevId: 213441868
|
|
|
|
|
|
|
| |
object that can be more easily extended. Currently any new argument needs changing a lot of call sites and there is redundancy in argument documentation.
Note: this does not modify the public symbols yet - it's not clear whether we want to complicate their interface. However we may want to use it in to_graph and to_code.
PiperOrigin-RevId: 213433379
|
|
|
|
| |
PiperOrigin-RevId: 213414462
|
|\
| |
| |
| | |
PiperOrigin-RevId: 213401619
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213398930
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213394522
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213389224
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213386401
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213386145
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213383647
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213378552
|
| |
| |
| |
| |
| |
| | |
against the 50 shard limit.
PiperOrigin-RevId: 213377776
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213377426
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213372241
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213372027
|
| |
| |
| |
| |
| |
| | |
Otherwise a message like "TypeError: Tensor objects are only iterable when eager execution is enabled. To iterate over this tensor use tf.map_fn." will be thrown, which is confusing.
PiperOrigin-RevId: 213371676
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The visitor pattern is used to allow pre-registration of memory for
DMA access, e.g. for fast GPU/CPU i/o and for RDMA networking. The
VisitableAllocator interface was introduced to support this use some
time ago, prior to SubAllocators. Memory registration works best if
it's done infrequently, on large pieces of memory, rather than on
every piece that's dynamically allocated/freed. This usage pattern
fits the SubAllocator better than a general Allocator. This change
moves memory allocation visitor access to SubAllocator and eliminates
the VisitableAllocator subclass of Allocator.
This change also more rigorously enforces the requirement that all
Visitors be declared prior to memory allocation begining. This is
accomplished by requiring that Visitors be provided to the SubAllocator
constructor.
This refactoring will ease an upcoming CL introducing
NUMA specific CPU devices. It also should fix some performance
pitfalls (e.g. accidental use of PoolAllocator) introduced by an
earlier refactoring of ProcessState that was also in preparation for
NUMA. It restores the default use of the cpu_allocator() value (i.e.
no SubAllocator) by model executions that don't use allocation
visitors (since visitor registration must precede the first allocation,
hence can be detected at that time).
PiperOrigin-RevId: 213371553
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213368723
|
| |
| |
| |
| |
| |
| |
| | |
liveness information if a control flow computation contains side effect
instructions.
PiperOrigin-RevId: 213367995
|
| |
| |
| |
| |
| |
| |
| |
| | |
SDCA. Added new test that fails with `IndexError: list index out of range` in `_get_partitioned_update_ops` without the corresponding fix.
Note that the effect of this bug is minimal, because for Estimator users, it only applies to sparse features that are not partitionable (e.g. [1,]), since all variables are created with the same partitioner in Estimator).
PiperOrigin-RevId: 213365956
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213363558
|
| |
| |
| |
| |
| |
| | |
of the fact in the tf.data kernels.
PiperOrigin-RevId: 213361953
|
| |
| |
| |
| |
| |
| | |
instructions.
PiperOrigin-RevId: 213361904
|
| | |
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213360279
|
| |
| |
| |
| |
| |
| |
| |
| | |
drop_remainder)`, which can be used for combining elements of input dataset into "windows". A window
is itself a finite dataset and, among other things, can be used for generalized batching (see https://github.com/tensorflow/community/pull/5 for details).
PiperOrigin-RevId: 213360134
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213354240
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prior to this change,
GraphConstructor::PopulateMissingUnusedInputMapKey() didn't correctly
compute the number of outputs for ops with variadic outputs. This
meant that missing_unused_input_map_keys could contain spurious
entries for unused variadic outputs, which could trigger a ValueError
in import_graph_def.
This also adds a new util method in node_def_util.h, NumOutputsForNode().
PiperOrigin-RevId: 213353158
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213352573
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213350122
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213349833
|
| |
| |
| |
| |
| |
| | |
Eliminate error when copying a file to itself.
PiperOrigin-RevId: 213349424
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213346485
|
| |
| |
| |
| | |
PiperOrigin-RevId: 213346439
|
| |
| |
| |
| |
| |
| | |
(constructing Variable directly instead of get_variable under scope with partitioner).
PiperOrigin-RevId: 213345447
|
|\ \
| | |
| | |
| | | |
PiperOrigin-RevId: 213343364
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This enables cleanup of the variables referenced in defunned methods of objects when the object is garbage collected. Since one PolymorphicFunction is created per @defun, decorated methods before this change held on to all of the variables referenced in that method for any instance of the class (i.e. variables which should have been object-scoped were scoped to the lifetime of the class definition).
Raises an exception if variables used in the function have been deleted when it is called, which means no local variables.
PiperOrigin-RevId: 213337256
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213336463
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213334465
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213327863
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213327709
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213327633
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
self.test_session() has been deprecated in 9962eb5e84b15e309410071b06c2ed2d6148ed44 as its name confuses readers of the test. Moving to cached_session() instead which is more explicit about:
* the fact that the session may be reused.
* the session is not closed even when doing a "with self.test_session()" statement.
PiperOrigin-RevId: 213326581
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213326503
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
self.test_session() has been deprecated in 9962eb5e84b15e309410071b06c2ed2d6148ed44 as its name confuses readers of the test. Moving to cached_session() instead which is more explicit about:
* the fact that the session may be reused.
* the session is not closed even when doing a "with self.test_session()" statement.
PiperOrigin-RevId: 213326167
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213324570
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213322116
|
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 213318051
|