- 18 2月, 2025 11 次提交
-
-
由 Brendan Murphy 提交于
In numpy 2.0, -1 as uint8 is out of bounds, whereas previously it would be converted to 255. This affected the test helper function `reduced_bitwise_and`. The helper function was changed to use 255 instead of -1 if the dtype was uint8, since this is what is needed to match the behavior of the "bitwise and" op. `reduced_bitwise_and` was only used by `TestCAReduce` in `tests/tensor/test_elemwise.py`, so it was moved there from `tests/tensor/test_math.py`
-
由 Brendan Murphy 提交于
`np.MAXDIMS` was removed from the public API and no replacement is given in the migration docs. In numpy <= 1.26, the value of `np.MAXDIMS` was 32. This was often used as a flag to mean `axis=None`. In numpy >= 2.0, the maximum number of dims of an array has been increased to 64; simultaneously, a constant `NPY_RAVEL_AXIS` was added to the C-API to indicate that `axis=None`. In most cases, the use of `np.MAXDIMS` to check for `axis=None` can be replaced by the new constant `NPY_RAVEL_AXIS`. To make this constant accessible when using numpy <= 1.26, I added a function to insert `npy_2_compat.h` into the support code for the affected ops.
-
由 Brendan Murphy 提交于
numpy.random.Generator.__getstate__() now returns none; to see the state of the bit generator, you need to use Generator.bit_generator.state. This change affects `RandomGeneratorType`, and several of the random tests (including some for Jax.)
-
由 Brendan Murphy 提交于
This was done for the python linker and numba linker. deepcopy seems to be the recommended method for copying a numpy Generator. After this numpy PR: https://github.com/numpy/numpy/pull/26293/commits/44ba7ca07984557f2006f9a6916adb8e3ecfca61 `copy` didn't seem to actually make an independent copy of the `np.random.Generator` objects spawned by `RandomStream`. This was causing the "test values" computed by e.g. `RandomStream.uniform` to increment the RNG state, which was causing tests that rely on `RandomStream` to fail. Here is some related discussion: https://github.com/numpy/numpy/issues/24086 I didn't see any official documentation about a change in numpy that would make copy stop working.
-
由 Brendan Murphy 提交于
MapIter was removed from the public numpy C-API in version 2.0, so we raise a not implemented error to default to the python code for the AdvancedInSubtensor1. The python version, defined in `AdvancedInSubtensor1.perform` calls `np.add.at`, which uses `MapIter` behind the scenes. There is active development on Numpy to improve the efficiency of `np.add.at`. To skip the C implementation and use the Python implementation, we raise a NotImplementedError for this op's c code if numpy>=2.0.
-
由 Brendan Murphy 提交于
This is done using C++ generic functions to get/set the real/imag parts of complex numbers. This gives us an easy way to support Numpy v < 2.0, and allows the type underlying the bit width types, like pytensor_complex128, to be correctly inferred from the numpy complex types they inherit from. Updated pytensor_complex struct to use get/set real/imag aliases defined above. Also updated operators such as `Abs` to use get_real, get_imag. Macros have been added to ensure compatibility with numpy < 2.0 Note: redefining the complex arithmetic here means that we aren't treating NaNs and infinities as carefully as the C99 standard suggets (see Appendix G of the standard). The code has been like this since it was added to Theano, so we're keeping the existing behavior.
-
由 Brendan Murphy 提交于
Anything `Hashable` should work, but I've made the return type `tuple[Hashable]` to keep with the current style. This means, e.g., we can use strings in the cache version.
-
由 Ricardo Vieira 提交于
- replace `->elsize` by `PyArray_ITEMSIZE` - don't use deprecated PyArray_MoveInto
-
由 Brendan Murphy 提交于
Some macros were removed from npy_3k_compat.h. Following numpy, I updated the affected functions to the Python 3 names, and removed support for Python 2. Also updated lazylinker_c version to indicate substantial changes to the C code.
-
由 Virgile Andreani 提交于
- Replace np.cast with np.asarray: in numpy 2.0, `np.cast[new_dtype](arr)` is deprecated. The literal replacement is `np.asarray(arr, dtype=new_dtype)`. - Replace np.sctype2char and np.obj2sctype. Added try/except to handle change in behavior of `np.dtype` - Replace np.find_common_type with np.result_type Further changes to `TensorType`: TensorType.dtype must be a string, so the code has been changed from `self.dtype = np.dtype(dtype).type`, where the right-hand side is of type `np.generic`, to `self.dtype = str(np.dtype(dtype))`, where the right-hand side is a string that satisfies: `self.dtype == str(np.dtype(self.dtype))` This doesn't change the behavior of `np.array(..., dtype=self.dtype)` etc.
-
由 Ricardo Vieira 提交于
- replaced np.AxisError with np.exceptions.AxisError - the `numpy.core` submodule has been renamed to `numpy._core` - some parts of `numpy.core` have been moved to `numpy.lib.array_utils` Except for `AxisError`, the updated imports are conditional on the version of numpy, so the imports should work for numpy >= 1.26. The conditional imports have been added to `npy_2_compat.py`, so the imports elsewhere are unconditonal.
-
- 17 2月, 2025 13 次提交
-
-
由 jessegrabowski 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
Also fixes bug in Scan L_op and Max R_op Co-authored-by:Adrian Seyboldt <aseyboldt@users.noreply.github.com>
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
- 13 2月, 2025 3 次提交
-
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
Also remove bad default values
-
由 dependabot[bot] 提交于
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.2 to 1.12.4. - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.2...v1.12.4) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com>
-
- 12 2月, 2025 6 次提交
-
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
-
由 Ricardo Vieira 提交于
Also cleans up implementation and documentation
-
由 Ricardo Vieira 提交于
-
- 10 2月, 2025 1 次提交
-
-
由 Ricardo Vieira 提交于
* Split and inverse * PyTorch inline constants in dispatch to avoid graph breaks
-
- 06 2月, 2025 1 次提交
-
-
由 Ricardo Vieira 提交于
-
- 04 2月, 2025 4 次提交
-
-
由 Ricardo Vieira 提交于
Deprecate obscure ndim kwarg
-
由 ricardoV94 提交于
A shortcut in the numpy implementation of einsum_path when there's nothing to optimize, creates a default path that can combine more than 2 operands. Our implementation only works with 2 or 1 operand operations at each step. https://github.com/numpy/numpy/blob/cc5851e654bfd82a23f2758be4bd224be84fc1c3/numpy/_core/einsumfunc.py#L945-L951
-
由 ricardoV94 提交于
Nothing clever was going on, unknown dims were simply faked as having length 8 for JAX polymorphism export
-
由 ricardoV94 提交于
-
- 03 2月, 2025 1 次提交
-
-
由 Ricardo Vieira 提交于
-