[pull] master from tensorflow:master - #8794
Merged
Merged
Conversation
…bug dump paths
RecursiveCreateDir recursed on the empty string forever: io::Dirname()
on a slash-less relative path returns "", and Dirname("") returns ""
again, so the recursive call never terminates. Add a base case that
treats an empty directory as "nothing further up the tree to create"
and returns immediately, letting the caller's own CreateDir proceed.
Fixes #123114
Matches the file's existing convention (already used elsewhere in debug_io_utils_test.cc) and gives a descriptive error message on failure instead of a bare boolean assert. Addresses gemini-code-assist review feedback on PR #124609.
Wrap DumpTensorToDirWithRelativeDumpRootSunnyDay in a scoped chdir into testing::TmpDir(), guarded for Windows/POSIX (io::Dirname() is a pure string operation, so this doesn't change what the regression test exercises). Addresses dmiltr3's review feedback on PR #124609.
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.1.1 to 83.0.0. - [Release notes](https://github.com/pypa/setuptools/releases) - [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst) - [Commits](pypa/setuptools@v78.1.1...v83.0.0) --- updated-dependencies: - dependency-name: setuptools dependency-version: 83.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…torage, fix formatting
np.moveaxis promises in its docstring to raise ValueError for out-of-bounds source/destination axes, but never actually validated them: positive out-of-bounds axes hit an unrelated AssertionError, and negative axes below -rank produced a perm with leftover negative entries (silently re-normalized in eager, opaque errors under XLA). Normalize and validate axes when the rank is statically known, raising the same clear error as np.moveaxis's AxisError, and assert the bounds at runtime for dynamically-known ranks, mirroring the swapaxes fix for issue #122054. Adds out-of-bounds regression tests.
`tf.signal.fftnd`, `ifftnd`, `rfftnd` and `irfftnd` all begin with
axes = _process_empty_axes(input_tensor, axes)
fft_rank = axes.shape[0]
input_tensor = _ops.convert_to_tensor(input_tensor, ...)
so when `axes` is left at its default, `_infer_axes_for_fftn()` reads
`len(input_tensor.shape)` off whatever the caller passed, before it has
been converted. A Python list has no `.shape`, so all four ops fail with
AttributeError: 'list' object has no attribute 'shape'
for input that the same ops accept as a tensor or a numpy array, which
does have `.shape`. Every other op in this file converts first.
Move the conversion above the axes inference. Passing an already
converted tensor is unaffected, since `convert_to_tensor` is a no-op
there and `_process_empty_axes` sees the same object it did before.
The new tests build the ops inside a graph rather than running them, so
they do not depend on an N-D FFT kernel being registered for the test
device.
1658465 ("Fix out-of-bounds write from failed bytes-list skips in fast Example parsing") made ParseFeature return -1 on a dtype mismatch and updated the three ParseSequence*Features callers to reject that value. The three structurally identical ParseContext*Features functions in the same file were not updated. Two of them still assign the result to a size_t: size_t num_added = ParseFeature(dtype, &stream, &out_values, &out_values_offset); ... for (int i = 0; i < num_added; i++) { if (is_batch) *out_indices++ = e; *out_indices++ = i; } so -1 becomes SIZE_MAX, the loop bound is unbounded, and it writes int64_t values through a raw pointer into a tensor sized from the first parsing pass. The num_elements != expected_num_elements check below only runs after the writes. ParseContextDenseFeatures accumulates the negative value into a size_t instead, which the trailing equality check rejects. Reject a negative count at all three sites, mirroring what the sequence parsers already do, so the failure is an InvalidArgument error rather than an out-of-bounds write.
Reject non-rank-4 inputs and filters before native convolution code runs, preventing malformed CPU inputs from reaching shape indexing code that can abort the process. Add a regression test for invalid input rank.
Cover the rank validation path for malformed filters with a regression test, complementing the existing invalid input rank test.
Update google-ml-infra/bap pin in nightly_benchmarks.yml and run_benchmarks.yml to 887b34acdb5c70bbd2bc93bb11c2d0a103698e7f, matching postsubmit_benchmark.yml. This resolves Zizmor warnings about mismatched pins. PiperOrigin-RevId: 973723007
… XLA:CPU for BF16 Teach CpuFloatSupport and OneDnnFloatSupport that BF16 is supported for a broader range of operations, including data movement (e.g., transpose, reshape) and elementwise operations without precision loss (e.g., abs, negate, maximum). This prevents unnecessary upcasting to F32 during FloatNormalization, improving performance and reducing memory bandwidth. Remove f16 related logic, we do not upcast from f16 anyway. PiperOrigin-RevId: 973745044
PiperOrigin-RevId: 973745258
…capture-error PiperOrigin-RevId: 973753476
…-validation PiperOrigin-RevId: 973774229
PiperOrigin-RevId: 973774821
Imported from GitHub PR openxla/xla#48044 📝 Summary of Changes Adds `TestGpuDeviceInfo::AMDMI300XDeviceInfo()` and fixes places where an MI210 or an RTX A6000 was redefined into a different chip by overwriting its compute capability. 🎯 Justification Tests named for gfx942/gfx950 were running against MI210 and A6000 geometry, i.e., wrong core counts, clocks, and bandwidth. 🚀 Kind of Contribution: ♻️ Cleanup Copybara import of the project: -- 35b662e09214ec5dd062fcb950416fb6806f5620 by Aleksei Nurmukhametov <anurmukh@amd.com>: [ROCm] Use AMD device descriptions in perf model tests Add AMDMI300XDeviceInfo() and use a right factory in places that overwrote compute capability of MI210 or RTX A6000. Merging this change closes #48044 PiperOrigin-RevId: 973780252
This was marked as flaky at some point, but it is not flaky now. PiperOrigin-RevId: 973780604
PiperOrigin-RevId: 973780832
Updates kernel_creator to use ODS-generated pass constructors instead of deprecated legacy wrappers (such as createLegalizeTrigonometricToApproximationPass and createBufferDeallocationPass). PiperOrigin-RevId: 973786471
PiperOrigin-RevId: 973791259
…/requirements_updater/numpy1_requirements/setuptools-83.0.0 PiperOrigin-RevId: 973791443
…is-axis-validation PiperOrigin-RevId: 973791477
PiperOrigin-RevId: 973792143
…-stack-overflow PiperOrigin-RevId: 973792546
PiperOrigin-RevId: 973792625
PiperOrigin-RevId: 973792682
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )