| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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: 213944932
|
|
|
|
|
|
| |
This supports pathlib and other non-string path types.
PiperOrigin-RevId: 212897666
|
|
|
|
|
|
|
|
| |
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: 209701635
|
|
|
|
|
|
|
|
|
|
| |
This change contains no code changes. Only doc-strings.
We can't use relative links in code files, so we don't have much choice but to link to tensorflow.org/
The deleted links were to docs that no longer exist.
PiperOrigin-RevId: 209019572
|
| |
|
|\
| |
| |
| | |
PiperOrigin-RevId: 208160689
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Back-ticks are now converted to links in the api_docs generator. With the new docs repo we're moving to simplify the docs pipeline, and make everything more readable.
By doing this we no longer get test failures for symbols that don't exist (`tf.does_not_exist` will not get a link).
There is also no way, not to set custom link text. That's okay.
This is the result of the following regex replacement (+ a couple of manual edits.):
re: @\{([^$].*?)(\$.+?)?}
sub: `\1`
Which does the following replacements:
"@{tf.symbol}" --> "`tf.symbol`"
"@{tf.symbol$link_text}" --> "`tf.symbol`"
PiperOrigin-RevId: 208042358
|
|/
|
| |
One may need to assign name of the MergeSummary operation
|
|
|
|
| |
PiperOrigin-RevId: 206320196
|
|
|
|
| |
PiperOrigin-RevId: 205875586
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes Estimator.train() support v2 summaries (tf.contrib.summary.*) out-of-the-box, to match the support for v1 summaries. Estimator.train() will now handle the boilerplate necessary to initialize a file writer and enable summary writing every N steps, and will ensure that its own automatically exported summaries (for loss and global_step/sec) get written to the same underlying events file.
As part of this change, tf.train.SummarySaverHook, tf.train.CheckpointSaverHook, tf.train.StepCounterHook, and tf.train.ProfilerHook have also been adapted to write summaries using the v2 summary system (via a compatibility layer), instead of using FileWriterCache.
A couple additional smaller changes are:
- the 'session' parameter to FileWriter() can now be a callable returning a tf.Session instance.
- the introduction of tf.contrib.summary.record_summaries_if() which takes a boolean tensor for direct control of tf.contrib.summary.should_record_summaries().
- EstimatorSpec.train_op, besides a tf.Operation, is now allowed to be any Tensor-equivalent object rather than just a tf.Tensor.
PiperOrigin-RevId: 205843986
|
|
|
|
|
|
| |
exporting symbols to the TensorFlow API.
PiperOrigin-RevId: 194426855
|
|
|
|
| |
PiperOrigin-RevId: 194274698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This provides an implementation of FileWriter, activated by passing in a `session` parameter to the constructor, that is backed by session.run'ing graph ops that manipulate a tf.contrib.summary.create_file_writer() instance. Because tf.contrib.summary.SummaryWriters are backed by shared resources in the graph, this makes it possible to have a FileWriter and a tf.contrib.summary.SummaryWriter that both write to the same events file.
This change includes some related smaller changes:
- Factors out training_utils.py into a separate target to avoid a cyclic dep
- Moves contrib/summary/summary_ops.py to python/ops/summary_ops_v2.py
- Adds SummaryWriter.init(), .flush(), and .close() op-returning methods
- Changes create_file_writer() `name` arg to default to logdir prefixed by `logdir:` so shared resources are scoped by logdir by default
- Fixes a bug with tf.contrib.summary.flush() `writer` arg
- Makes create_file_writer()'s max_queue arg behave as documented
- Adds more testing for existing tf.contrib.summary API
PiperOrigin-RevId: 192408079
|
|
|
|
| |
PiperOrigin-RevId: 191024726
|
|
|
|
|
|
| |
Fixes #17802
PiperOrigin-RevId: 189684619
|
|
|
|
| |
PiperOrigin-RevId: 189073787
|
|
|
|
|
|
|
|
| |
This is in preparation to introduce one public, stable symbol: tf.executing_eagerly()
(i.e., part of moving APIs related to eager execution from "contrib" to a namespace
where we provide API stability guarantees)
PiperOrigin-RevId: 188212646
|
|
|
|
| |
PiperOrigin-RevId: 187386941
|
|
|
|
| |
PiperOrigin-RevId: 185026527
|
|
|
|
| |
PiperOrigin-RevId: 184020524
|
|
|
|
| |
PiperOrigin-RevId: 183100142
|
|
|
|
|
| |
RELNOTES: N/A
PiperOrigin-RevId: 177631104
|
|
|
|
|
|
| |
This no longer appears to be used since text_summary was migrated to use the new SummaryMetadata approach.
PiperOrigin-RevId: 174354256
|
|
|
|
| |
PiperOrigin-RevId: 173949980
|
|
|
|
|
|
| |
That content field of the PluginData proto is going to be converted into a bytes field, and setting it to a string makes the test fail. Furthermore, the purpose of this test is to make sure that correct data is written, so setting the name of the plugin suffices.
PiperOrigin-RevId: 167776457
|
|
|
|
|
|
| |
This is actually a safe removal because no logic makes use of the content of text plugin data.
PiperOrigin-RevId: 167763880
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
END_PUBLIC
---
Commit 9f81374c3 authored by raymondxyang<zihao.yang@microsoft.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Add option for build more python tests in Cmake (#11853)
* Ignore Windows built project
* Fix deprecated methods in tf.contrib.python
* Fix regex match for Windows build in contrib.keras
* Fix Regex match for Windows build in session_bundle
* * Fix deprecated methods
* Fix regex match for Windows
* Fix compatibility issue with Python 3.x
* Add missing ops into Windows build for test
* Enabled more testcases for Windows build
* Clean code and fix typo
* Add conditional cmake mode for enabling more unit testcase
* Add Cmake mode for major Contrib packages
* Add supplementary info in RAEDME for new cmake option
* * Update tf_tests after testing with TF 1.3
* Clean code and resolve conflicts
* Fix unsafe regex matches and format code
* Update exclude list after testing with latest master branch
* Fix missing module
---
Commit 98f0e1efe authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Dynamic ksize and strides with MaxPool (#11875)
* Dynamic ksize with max_pool
This fix tries to fix the issue raised in 4746 where ksize
is static (attr) with max_pool.
This fix changes ksize to input tensor so that it is dynamic now.
This fix fixes 4746.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add dynamic ksize to MaxPoolGrad and MaxPoolGradGrad
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test cases for max_pool_v2
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Fix GPU Jenkins issue.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Enable MaxPoolV2 in GPU
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Hide MaxPoolV2 and other fixes.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit 02d6bc185 authored by Bairen Yi<byronyi@users.noreply.github.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
remove useless variable (#12212)
---
Commit ed6b0d905 authored by namrata-ibm<bhavenamrata@gmail.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Adding support for s390x in calculation of cpu_frequency (#12201)
---
Commit 627dfc9dd authored by Taehoon Lee<taehoonlee@snu.ac.kr>
Committed by Taehoon Lee<taehoonlee@snu.ac.kr>:
Fix typos
---
Commit c0f9b0a91 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
In fast-math mode emit a tanh that has a faster min/max.
PiperOrigin-RevId: 164943597
---
Commit 87605f3d6 authored by Kay Zhu<kayzhu@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
[TF:XLA] Use HloEvaluator for ComputeConstant, remove the need of a dedicated
compute constant backend.
PiperOrigin-RevId: 164940970
---
Commit 881de45c2 authored by Taehoon Lee<me@taehoonlee.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Add bool type supports for GPU kernels (#11927)
* Add bool type supports for GPU kernels
* Add bool type test codes for GPU kernels
---
Commit eeacdcdb1 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add missing "CPU" suffix in registrations.
PiperOrigin-RevId: 164939527
---
Commit de01be952 authored by namrata-ibm<bhavenamrata@gmail.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Adding support for Big Endian in graph_constructor_test and wav_io (#12179)
---
Commit 26719d29f authored by QingYing Chen<pkudysj@126.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Implement CRF decode (Viterbi decode) for tensor (#12056)
* Implement CRF decoding for tensors
* add test code for tensor version's CRF decoding
* made modifications according to pylint
* add some comments for crf decode
* remove useless code
* add comments at the top comment of crf module and add more comments in crf_test
* capitalize first char of first word in comments
* replace crf_decode test code with a deterministic example
---
Commit f9a81ca2f authored by Pete Warden<pete@petewarden.com>
Committed by gunan<gunan@google.com>:
Create CI build script for Raspberry Pi (#12190)
* Create CI build script for Raspberry Pi
* Moved location of Pi build script
---
Commit e2a163a90 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Merge code from PR #11940 with internal changes from cl/164796436, and update Python tests to also run on GPU.
PiperOrigin-RevId: 164929133
---
Commit 08bbfa187 authored by Taehoon Lee<me@taehoonlee.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Fix typos (#12195)
---
Commit ab96f41fb authored by Luke Iwanski<luke@codeplay.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
[OpenCL] Extends matmul_benchmark.py to cover SYCL (#11697)
* [OpenCL] Extends matmul_benchmark.py to cover SYCL
* Fixed typo
* /gpu:0 -> /device:GPU:0
* Fixes control_flow_ops_py_test
* /gpu: -> /device:GPU:
* Fixes //tensorflow/python/profiler/internal:run_metadata_test
* gpu: -> GPU:
* Fixes tfprof_node
* [OpenCL] Fixes device path to name with many colons (#123)
The device path is constructed from a device name by replacing all
colons with underscores. Some device names contain more than one colon,
for example 'device:SYCL:0' which gives a path 'device_SYCL_0'. The
previous code would not convert this back to the original device name,
but rather to 'device:SYCL_0'.
An alternative fix would be to convert all underscores to colons in the
device name (i.e. remove the restriction inside `replace("_", ":", 1)`),
however I'm not sure if there are any device names which contain
underscores.
* If no gpu device aviable fake one
* gpu: -> device:GPU
* Fixes profiler test
* /gpu:x -> /device:GPU:x
* Fixes debug_io_utils_test.cc test
* Fixes device_name_utils_test.cc
---
Commit 35e7a3665 authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
Remove unneeded casting of int64 for reverse_sequence (#12192)
This fix remove unneeded cast of int64 for reverse_sequence:
```
lengths = math_ops.to_int64(lengths)
```
as int32 has already been enabled for reverse_sequence.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit 9fba8c185 authored by Anna R<annarev@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add benchmark dashboard link to benchmarks doc. Also, I added a link and
description for Benchmarks page to Community index page.
PiperOrigin-RevId: 164924906
---
Commit bb6f32fa7 authored by Mark Heffernan<meheff@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Make HloAliasAnalysis updatable after changes to the HLO graph.
As part of this change make HloAliasAnalysis a thinner layer which
basically only holds a map from HloValue to HloBuffer and vice versa.
PiperOrigin-RevId: 164923041
---
Commit 9103096c1 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by Thomas K?ppe<tkoeppe@google.com>:
Merged commit includes the following changes:
164923041 by meheff:
Make HloAliasAnalysis updatable after changes to the HLO graph.
As part of this change make HloAliasAnalysis a thinner layer which
basically only holds a map from HloValue to HloBuffer and vice versa.
--
PiperOrigin-RevId: 164923041
---
Commit 822603aed authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Merging sibling fusion instruction using multi_output_fusion
PiperOrigin-RevId: 164920220
---
Commit c035aa2a8 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 164917891
---
Commit e1e81d9ba authored by Luke Iwanski<luke@codeplay.com>
Committed by Rasmus Munk Larsen<rmlarsen@google.com>:
[OpenCL] Fixes double memcpy bug (#151) (#12173)
* [OpenCL] Fixes double memcpy bug (#151)
As the debg CopyOp is called on a Tensor without type, we need to use
the DataType enum to get type information, and use this to pass the type
on to Eigen. This is a workaround Eigen's need to have a type when
calling memcpy. If the Eigen memcpy can be provided without a type
requirement, then the memcpy in sycl_util is unnecessary.
* Acts on feedback from: #12173/files/32cb12a9001b672425867b5a3110fd98e737a20b#r132496277
---
Commit d9ca2d86d authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Internal change
PiperOrigin-RevId: 164916465
---
Commit b8d13d218 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Remove more parts of DCASGD missed in the first pass. (47949b)
PiperOrigin-RevId: 164914552
---
Commit 73b3d52c7 authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
cmake fix
PiperOrigin-RevId: 164911656
---
Commit 2173b5b0a authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Allow TFE_TensorHandleCopyToDevice to have the same device as src and
destination. It will reuse the same underlying buffer in those cases.
PiperOrigin-RevId: 164909906
---
Commit 13eb3b90e authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Experimental C and Python APIs to invoke TensorFlow kernels on concrete values.
PiperOrigin-RevId: 164902588
---
Commit 7dfabcc01 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Initialize ExecutionOptions in ComputeConstant to default values.
PiperOrigin-RevId: 164894867
---
Commit c8897e9bc authored by Benoit Steiner<bsteiner@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Static required time computation
PiperOrigin-RevId: 164894645
---
Commit 076158f9b authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Enable implicit->explicit conversion by default.
PiperOrigin-RevId: 164890915
---
Commit 58c4a4cb1 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Bugfix: number of input channels is not necessarily in the last dimension, after introduction of data_format param.
PiperOrigin-RevId: 164889729
---
Commit 8f9b1af8a authored by Igor Saprykin<isaprykin@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Recover MonitoredSession when the Coordinator is requested to stop with one of the _PREEMPTION_ERRORS.
When SyncReplicasOptimizer is used, a preemption in the Coordinator may result in two cases:
Case 1) the session gets silently marked as complete
Case 2) the session gets stuck
This CL aims to solve and verify solutions for both of these problems. Fix 1 changes the should_stop logic. Fix 2 changes the CoordinatedSession.run() logic.
SyncReplicasOptimizer runs a separate set of threads using a Coordinator instance. Those threads do FIFOQueue.enqueue; the main thread does a blocking FIFOQueue.dequeue.
`sync_token_q` FIFOQueue is on parameter-servers. When one of the PS instances gets preempted, an AbortedError causes the Coordinator to stop via request_stop(ex). That by itself changes the state of MonitoredSession.should_stop() to True (Fix 1).
Results of the blocking Dequeue operation are sent to the chief worker via Recv. What happens next depends on the amount of tokens in `sync_token_q`. If there are enough for the next call to Dequeue to return, then the low-level "tf session run() call" returns. The next iteration of the `while not MonitoredSession.should_stop()` loop decides that the training is complete (Case 1).
If there are not enough tokens in `sync_token_q`, then the blocking Dequeue is going to keep waiting for them. This results in the graph execution getting stuck and the whole session getting garbage collected after 10 minutes (Case 2).
We decided to fix that by re-creating a session after it gets garbage collected (Fix 2). An alternative was to try to cancel the pending Dequeue operation, but it's not clear that it is the right thing to do and it is also not easy.
PiperOrigin-RevId: 164888390
---
Commit 46e4de6e5 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Undo loop fusion changes for now as they seem to be altering a few results.
END_PUBLIC
RELNOTES: n/a
BEGIN_PUBLIC
BEGIN_PUBLIC
Automated g4 rollback of changelist 164825735
PiperOrigin-RevId: 165340331
|
|
|
|
|
|
| |
Every summary op writes data for a single plugin to process. Hence, each SummaryMetadata proto should have a single PluginData optional field (instead of a repeated one). This removes much complexity from TensorBoard logic that loops over the plugin data. It also simplifies the SQL schema - it can now enforce a one-to-one relationship between summary op and plugin.
PiperOrigin-RevId: 164659570
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
END_PUBLIC
---
Commit cf375f067 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
Adds cudnn_rnn_ops_op_lib and cudnn_rnn_kernels to contrib_ops_op_lib and
contrib_kernels respectively.
PiperOrigin-RevId: 164170971
---
Commit 95ec58e27 authored by Asim Shankar<ashankar@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
C API: Make TF_TensorFromTensor return an error instead of just logging it.
PiperOrigin-RevId: 164167582
---
Commit 15175c870 authored by Jonathan Hseu<jhseu@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
Build fixes.
- Allow var_list as a positional argument in CrossShardOptimizer.
- Set the number of shards to 1 when not running on TPU, to allow evaluate() and predict() on CPU/GPU to work.
PiperOrigin-RevId: 164161640
---
Commit bd3e894f7 authored by Yao Zhang<yaozhang@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
Support freeze mode for fused batch norm.
PiperOrigin-RevId: 164149032
---
Commit e6b6b84c0 authored by Asim Shankar<ashankar@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
C API: TF_Tensors will always be in host memory.
This change undoes some experimentation in
commit 22651083406ca01ac9d481e3367a3510d25f88cd
and restores TF_Tensor behavior to what is was prior to that change.
PiperOrigin-RevId: 164146670
---
Commit 8bf3f88f7 authored by Peter Hawkins<phawkins@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
[TF:XLA] Add _XLASend and _XLARecv TF ops that wrap the XLA Send/Recv HLO ops.
PiperOrigin-RevId: 164124764
---
Commit 626d3200f authored by Peter Hawkins<phawkins@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
[XLA] Add test blacklist mechanism for XLA C++ unit tests.
PiperOrigin-RevId: 164124423
---
Commit 359cc5f5e authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
Document dict ordering in nest and make it consistent with sonnet.
PiperOrigin-RevId: 164114335
---
Commit 05813b531 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
Go: Update generated wrapper functions for TensorFlow ops.
PiperOrigin-RevId: 164089206
---
Commit c451f465d authored by Anna R<annarev@google.com>
Committed by Benoit Steiner<benoitsteiner@users.noreply.github.com>:
BEGIN_PUBLIC
Automated g4 rollback of changelist 164078808
PiperOrigin-RevId: 164318935
|
|
|
|
|
|
| |
Made the tensor_summary op directly use the TensorSummaryV2 kernel.
PiperOrigin-RevId: 161486007
|
|
|
|
|
|
| |
The argument is actually still used for adding summaries to collections.
PiperOrigin-RevId: 161459624
|
|
|
|
|
|
|
|
| |
information.
This will let TensorBoard figure out which plugins should handle which types of summaries.
PiperOrigin-RevId: 159202469
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a metadata field (type SummaryMetadata) to the Summary::Value proto.
Refactor the static methods in summary.py into a summary_op_util.py file.
Unlike the TensorSummaryOp, TensorSummaryOpV2
- passes a tag to the C++ level. This is more consistent with the rest of the summaries.
- lets the user pass a third argument that is a serialized SummaryMetadata proto. The SummaryMetadata contains plugin-specific data. This lets TensorBoard determine which events are relevant to which plugins.
We must make a new op instead of modifying the TensorSummaryOp because we must be backwards compatible.
PiperOrigin-RevId: 158797579
|
|
|
|
|
|
|
|
| |
controls the "tab name" of the summary that is displayed.
This solution keeps using name_scope to keep names unique, but then prefixes the tag with the family name if provided.
PiperOrigin-RevId: 158278922
|
|
|
|
| |
PiperOrigin-RevId: 156074304
|
|
|
|
| |
Change: 155209832
|
|
|
|
| |
Change: 153426348
|
|
|
|
|
| |
is appended to every summary file name.
Change: 152736272
|
|
|
|
|
|
|
| |
string tensors.
If the string tensor passed to the text dashboard is not a scalar, then the data is automatically organized into a table.
Change: 152081823
|
|
|
|
| |
Change: 151602957
|
|
|
|
|
| |
tf.summary.text writes scalar string tensors into summaries, for visualization in the TensorBoard text dashboard. Markdown is supported.
Change: 151511881
|
|
|
|
|
|
|
| |
Adds a text_summary method, which uses the new PluginAsset API to specify that certain TensorSummaries contain text values that should be used by TensorBoard.
Add a TensorBoard plugin for loading that text value and sending it to the frontend.
Change: 150943365
|
|
|
|
|
|
|
|
|
|
|
| |
responsible for serialization.
In the current PluginAsset api, the PluginAsset provides a serialize_to_directory method in which it directly writes contents to disk. This means that we as framework maintainers don't have the flexibility to change the serialization strategy in different contexts, e.g. providing good ways to serialize in contexts where we are writing to a db rather than to disk. Also, it presents a trivial landmine where users may use standard python file APIs rather than gfile and thus provide implementations that work externally but break within g3.
After the change, the PluginAsset instead provides an 'assets' method, which provides asset names and asset contents. How this gets written out is now an implementation detail handled by the tf.summary.FileWriter.
We haven't yet exposed the PluginAsset class as part of the TensorFlow API (it's hidden) so this isn't an API break.
Change: 149985564
|
|
|
|
|
| |
The EventMultiplexer and EventAccumulator classes are fairly tightly tied to TensorBoard, so we should migrate them to the tensorboard/ folder in preparation for extracting TensorBoard from the TensorFlow repo.
Change: 149587771
|
|
|
|
|
|
|
| |
We need a system for getting arbitrary metadata and assets for TensorBoard plugins. Examples include configuration protobufs, vocabulary files, and sprite images. We need to be able to declare the plugin assets at graph construction time, and then serialize them to disk using the tf.summary.FileWriter. And we want to do so using the FileWriter.add_graph API, so that new features will Just Work for existing code that instantiates a FileWriter and adds the graph.
This CL adds a system meeting those requirements. Plugin authors will create an asset class that extends tf.summary.PluginAsset, and implement a serialize method that dumps all the required assets to disk. At the time of graph construction, tf.summary.get_plugin_asset(AssetClass) gives them the current instance for their plugin assets (constructing it if necessary). They may then configure it. When tf.summary.FileWriter.add_graph is called with the graph, it retrieves all PluginAssets and makes a subdirectory for each one. Then, it calls serialize_to_directory on each asset.
Change: 149367010
|
|
|
|
| |
Change: 148678164
|
|
|
|
|
| |
After this CL, it is possible to access TensorSummary data via the EventAccumulator and EventMultiplexer classes. This is a first step towards adding full TensorSummary support to TensorBoard.
Change: 148261489
|
|
|
|
| |
Change: 147499520
|
|
|
|
|
| |
Removes the API guide for TensorArray for the moment, since all of its useful content is in the class docstring.
Change: 147405811
|