Closed texadactyl closed 2 years ago
In pytest test/test_kurtosis.py, hyperseti/utils.py:81 experienced a TypeError.
pytest test/test_kurtosis.py
test/test_kurtosis.py:20:
hyperseti/utils.py:175: in inner of _datwrapper
# OUTPUT MODIFYING output = func(*args, **kwargs)
Details from pytest:
args = (<HDF5 dataset "data": shape (16, 1, 1048576), type "<f4">, {'frequency_start': <Quantity 8421.38671875 MHz>, 'frequency_step': <Quantity -2.79396772e-06 MHz>, 'time_step': <Quantity 18.25361101 s>}) kwargs = {'metadata': {'feed_id_start': <Quantity 0.>, 'feed_id_step': <Quantity 0.>, 'frequency_start': <Quantity 8421.38671735 MHz>, 'frequency_step': <Quantity -2.79396772e-06 MHz>, ...}} new_args = [array([[[4.7153664e+09, 5.0594243e+09, 5.2598994e+09, ..., 5.5999278e+09, 4.8248212e+09, 5.1364244e+09]], ...<Quantity 8421.38671875 MHz>, 'frequency_step': <Quantity -2.79396772e-06 MHz>, 'time_step': <Quantity 18.25361101 s>}], idx = 1 arg = {'frequency_start': <Quantity 8421.38671875 MHz>, 'frequency_step': <Quantity -2.79396772e-06 MHz>, 'time_step': <Quantity 18.25361101 s>}, argname = 'metadata', return_space = None @wraps(func) def inner(*args, **kwargs): new_args = [] logger.debug(f"{func_name} on_gpu inner, args: {args}") for idx, arg in enumerate(args): argname = func_params[idx] if isinstance(arg, np.ndarray): logger.info(f"<{func_name}> Converting ndarray arg {argname} to cupy..") if arg.dtype != np.dtype('float32'): logger.warning(f"<{func_name}> Arg {argname} is not float32, could cause issues...") arg = cp.asarray(arg) elif hasattr(arg, '__array__'): # Duck-type numpy array logger.info(f"<{func_name}> Converting numpy-like arg {argname} to cupy..") if arg.dtype != np.dtype('float32'): warnings.warn(f"<{func_name}> Arg {argname} is not float32, could cause issues...", RuntimeWarning) arg = cp.asarray(arg) if isinstance(arg, DataArray): logger.info(f"<{func_name}> Converting arg {argname}.data to cupy..") if arg.data.dtype != np.dtype('float32'): warnings.warn(f"<{func_name}> Arg {argname}.data is not float32, could cause issues...", RuntimeWarning) arg.data = cp.asarray(arg.data) new_args.append(arg) return_space = None if 'return_space' in kwargs: logger.debug(f"<{func_name}> Return space requested: {kwargs['return_space']}") return_space = kwargs.pop('return_space') assert return_space in ('cpu', 'gpu') > output = func(*new_args, **kwargs) E TypeError: spectral_kurtosis() got multiple values for argument 'metadata'
Verified fixed!
In
pytest test/test_kurtosis.py
, hyperseti/utils.py:81 experienced a TypeError.test/test_kurtosis.py:20:
hyperseti/utils.py:175: in inner of _datwrapper
Details from pytest: