Describe the issue:
When running algorithms.admm() or algorithms.proximal_grad() from dask-glm with NumPy 2.x (e.g., 2.2.5), I encounter the following error:
ValueError: The truth value of an empty array is ambiguous. Use `array.size > 0` to check that an array is not empty.
Minimal Complete Verifiable Example:
from dask_glm import algorithms, datasets
X, y = datasets.make_regression(
n_samples=200000, n_features=100, n_informative=5, chunksize=10000
)
b1 = algorithms.admm(X, y, max_iter=5)
b2 = algorithms.proximal_grad(X, y, max_iter=5)
Anything else we need to know?:
This appears to originate from the zeros() function in dask_glm/utils.py. In NumPy 2.x, evaluating if arr: is no longer valid when arr is an empty array. This breaks compatibility and causes the function to fail. See https://numpy.org/doc/stable/reference/arrays.ndarray.html.
|
def zeros(shape, arr=None, **kwargs): |
|
if arr: |
|
return np.zeros_like(arr, shape=shape, **kwargs) |
|
else: |
|
return np.zeros(shape=shape, **kwargs) |
The conditional in L43 should be updated to:
if arr is not None and arr.size > 0:
Environment:
- dask version: 2025.7.0
- dask-glm version: 0.3.2
- numpy version: 2.2.5
- Python version: 3.13
- Operating System: Windows/Linux
- Install method (conda, pip, source): conda
Describe the issue:
When running
algorithms.admm()oralgorithms.proximal_grad()from dask-glm with NumPy 2.x (e.g., 2.2.5), I encounter the following error:Minimal Complete Verifiable Example:
Anything else we need to know?:
This appears to originate from the
zeros()function in dask_glm/utils.py. In NumPy 2.x, evaluating if arr: is no longer valid when arr is an empty array. This breaks compatibility and causes the function to fail. See https://numpy.org/doc/stable/reference/arrays.ndarray.html.dask-glm/dask_glm/utils.py
Lines 42 to 46 in 0c70593
The conditional in L43 should be updated to:
Environment: