| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 157415647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementation by Cinjon Resnick. He can't push this since he's traveling.
I just copied the fix and added some small syntax tweaks to make the unit
tests pass. More comprehensive unit tests will come in the near future.
Fixes at least part of #9904.
BeamSearchDecoder:
1. Fix the bug where we don't pass the next cell state through.
2. Gather the cell state (and attention if that's a part of the model
as an AttentionWrapper on the cell) according to the next_beam_ids.
PiperOrigin-RevId: 157415564
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gumbel noise. -log(-log(U)) gives infinity if U draws a hard 0. Adds a tiny
offset to U (2e-30) to avoid log(U) = -inf.
The CPU sampling algorithm depends on the order of the logits which is
undesirable and can also oversample the first logit if it is smaller than the
smallest random float larger than 0 (~1e-7). Switching to double precision
internally mitigates these problems, although it doesn't fix them. Slowdown
is ~35% in the worst case.
Also adds various tests that we would like the sampling to pass.
CPU Benchmark before:
32 10000 1 0.060 0.069 0.87
32 10000 4 0.229 0.074 3.10
32 10000 32 2.180 0.059 37.09
32 100000 1 0.430 0.480 0.90
32 100000 4 2.322 0.449 5.17
32 100000 32 31.508 0.471 66.96
128 10000 1 0.168 0.235 0.71
128 10000 4 0.965 0.246 3.93
128 10000 32 7.989 0.225 35.51
128 100000 1 1.681 1.539 1.09
128 100000 4 9.012 1.57 35.73
128 100000 32 126.222 1.626 77.60
CPU Benchmark after:
32 10000 1 0.054 0.112 0.48
32 10000 4 0.206 0.093 2.21
32 10000 32 1.826 0.091 20.12
32 100000 1 0.292 0.636 0.46
32 100000 4 2.086 0.606 3.44
32 100000 32 28.496 0.633 45.03
128 10000 1 0.125 0.266 0.47
128 10000 4 0.759 0.258 2.94
128 10000 32 7.362 0.254 29.03
128 100000 1 1.550 2.18 10.71
128 100000 4 8.712 2.22 23.92
128 100000 32 122.585 2.213 55.39
PiperOrigin-RevId: 157414849
|
|
|
|
|
|
| |
for label and weight.
PiperOrigin-RevId: 157405237
|
|
|
|
| |
PiperOrigin-RevId: 157402364
|
|
|
|
| |
PiperOrigin-RevId: 157402063
|
|
|
|
| |
PiperOrigin-RevId: 157400110
|
|
|
|
|
|
| |
Guard the shape inference for binary ops behind a flag.
PiperOrigin-RevId: 157373647
|
|
|
|
|
|
| |
Disable winograd nonfused conv for certain input params to avoid a known bug in cuDNNv5 and cuDNNv6.
PiperOrigin-RevId: 157352847
|
|
|
|
|
|
| |
convolution when the input images are smaller than 16x16.
PiperOrigin-RevId: 157347823
|
|
|
|
|
|
| |
15d9f00fa. The change should have excluded depthwise_conv2d for doubles on windows debug builds, but it excluded it for all windows and all debug builds.
PiperOrigin-RevId: 157345929
|
|
|
|
| |
PiperOrigin-RevId: 157339360
|
|
|
|
|
|
| |
appropriate spots.
PiperOrigin-RevId: 157328239
|
|
|
|
| |
PiperOrigin-RevId: 157294719
|
|
|
|
| |
PiperOrigin-RevId: 157292254
|
|
|
|
| |
PiperOrigin-RevId: 157291238
|
|
|
|
| |
PiperOrigin-RevId: 157291215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inlining.
Op Counts Comparison (BNMT)
Counts: Profile vs Grappler
Op: Add, 968 vs 965
Op: AddN, 2228 vs 2228
Op: ApplyGradientDescent, 84 vs 84
Op: BatchMatMul, 998 vs 998
Op: Identity, 142 vs 105
Op: MatMul, 63 vs 63
Op: Mul, 10318 vs 10306
Op: OneHot, 1 vs 1
Op: Reshape, 8421 vs 8422
Op: Select, 488 vs 488
Op: Shape, 8132 vs 8131
Op: Sigmoid, 942 vs 942
Op: Softmax, 19 vs 19
Op: StridedSlice, 58 vs 74
Op: Sub, 1398 vs 1394
Op: Tanh, 333 vs 333
Op: Tile, 21 vs 21
Op: Transpose, 39 vs 39
PiperOrigin-RevId: 157288420
|
|
|
|
| |
PiperOrigin-RevId: 157288399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is in preparation for TensorBoard leaving github/tensorflow/tensorflow
and moving into its own repository.
There is a little trickiness around tf.contrib.tensorboard, which
has the potential to generate circular dependencies because it depends on
tensorboard.plugins, which now depends on tensorflow, which depends on
contrib. I disconnected the only circle at tensorboard.backend.json_util.
Eventually, I hope for tensorboard to have no dependencies on
//tensorflow except for files within tensorboard, and on the
tensorflow_py target.
We need to port or make public a few utility functions (e.g.
tensor_util.MakeNdarray) and solve the contrib circular dep before
that will be the case.
PiperOrigin-RevId: 157288184
|
|
|
|
| |
PiperOrigin-RevId: 157285789
|
|
|
|
|
|
| |
"virtual")
PiperOrigin-RevId: 157284709
|
|
|
|
| |
PiperOrigin-RevId: 157282438
|
|
|
|
| |
PiperOrigin-RevId: 157281164
|
|
|
|
|
|
|
|
| |
Passing 'array' to the deallocator didn't do anything since the
deallocator doesn't use 'arg', but it's confusing since 'array' is
freed by the time the deallocator is called.
PiperOrigin-RevId: 157280226
|
|
|
|
|
|
|
|
| |
This continues the great plugin migration. The histograms plugin is very
similar to the scalars plugin, except that it only emits JSON and not
CSV, so is even simpler.
PiperOrigin-RevId: 157279126
|
|
|
|
| |
PiperOrigin-RevId: 157278849
|
|
|
|
|
|
| |
session.run().
PiperOrigin-RevId: 157277945
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
URLs like localhost:6006/#graphs weren't working. This was because the
`USE_HASH` property of `TF.Globals` was being read as false by the
router, even though `tf-tensorboard` was trying to set it to `true`. The
problem was that `tf-tensorboard` was only setting to true the _copy_ of
`USE_HASH` that it created at import time. The solution adopted here is
to let `globals.ts` close over a private `use_hash`, and expose a getter
and setter. An alternate solution is to expose a constant object
`{use_hash: false}`; importing modules would copy the _reference_ to
this object, so their mutations would pass through. This alternate
solution would perhaps be more elegant if we had more properties.
Test Plan:
- Load http://localhost:6006/.
- Change the URL to http://localhost:6006/#graphs.
- Note that the view updates.
PiperOrigin-RevId: 157277248
|
|
|
|
| |
PiperOrigin-RevId: 157276855
|
|
|
|
| |
PiperOrigin-RevId: 157276276
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We aim to provide for each plugin a set of sample data satisfying the
following properties:
- The data is of a realistic form.
- The data is sufficient to exercise all capabilities of the plugin.
- The data is not completely boring.
Such data then serves many purposes: it is documentation for this
particular plugin; it is documentation for TensorFlow and TensorBoard in
general; it can be used for manual testing of TensorBoard; and it can be
used in the plugin's unit tests. Ideally, we'll also be able to create a
script to aggregate the test data from all first-party plugins,
providing a single data set that can be used to comprehensively test
TensorBoard.
To start us off, this change adds such data for the scalars plugin. It's
realistic in that it has a few thousand steps and a few dozen runs. It
enables testing smoothing (due to the added noise), tag groups (due to
the various summary names), and run filters (due to the combinatorial
run parameters). And it's implementing a tiny physics simulation, so
it's not _entirely_ boring!
PiperOrigin-RevId: 157274669
|
|
|
|
| |
PiperOrigin-RevId: 157274264
|
|
|
|
| |
PiperOrigin-RevId: 157272979
|
|
|
|
| |
PiperOrigin-RevId: 157272843
|
|
|
|
|
|
| |
The new session API is enabled if ops._USE_C_API is True, otherwise the original behavior is maintained (the default). Most of the tests in session_test.py are now run with the new API. The new session API runs the TF_Graph that is built alongside the Python graph when ops._USE_C_API is True.
PiperOrigin-RevId: 157272139
|
|
|
|
|
|
| |
In particular, transpose and reshape are identical as long as the non-singleton dimensions remain in ascending order in the permutation.
PiperOrigin-RevId: 157272046
|
|
|
|
| |
PiperOrigin-RevId: 157271246
|
|
|
|
| |
PiperOrigin-RevId: 157270783
|
|
|
|
| |
PiperOrigin-RevId: 157270228
|
|
|
|
| |
PiperOrigin-RevId: 157269890
|
|
|
|
| |
PiperOrigin-RevId: 157265680
|
|
|
|
| |
PiperOrigin-RevId: 157263047
|
|
|
|
|
|
| |
log_survival_function} and add accompanying tests. Fixes #10131
PiperOrigin-RevId: 157259406
|
|
|
|
| |
PiperOrigin-RevId: 157258631
|
|
|
|
|
|
|
| |
Example error message now looks like:
ValueError: Cannot capture a stateful node (name:random_uniform, type:RandomUniformInt) by value.
PiperOrigin-RevId: 157258472
|
|
|
|
|
|
|
|
|
| |
same stream id to use the same cuda stream objects. This avoids confusing
the per-device memory allocator in ways that cause memory corruption.
Fixes https://github.com/tensorflow/serving/issues/335.
PiperOrigin-RevId: 157258318
|
|
|
|
| |
PiperOrigin-RevId: 157253080
|
|
|
|
| |
PiperOrigin-RevId: 157248921
|
|
|
|
|
|
| |
Simplified tests.
PiperOrigin-RevId: 157245165
|