vnmabus / dcor

Distance correlation and related E-statistics in Python
https://dcor.readthedocs.io
MIT License
144 stars 26 forks source link

AttributeError: 'float' object has no attribute 'dtype' #36

Closed jmrichardson closed 2 years ago

jmrichardson commented 2 years ago

Hi,

I am getting the following error with the latest release but not with version 0.5:

multiprocess.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\multiprocess\pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "D:\Projects\tuneta\tuneta\optimize.py", line 228, in fit
    self.study.optimize(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\optuna\study\study.py", line 400, in optimize
    _optimize(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\optuna\study\_optimize.py", line 66, in _optimize
    _optimize_sequential(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\optuna\study\_optimize.py", line 163, in _optimize_sequential
    trial = _run_trial(study, func, catch)
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\optuna\study\_optimize.py", line 264, in _run_trial
    raise func_err
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\optuna\study\_optimize.py", line 213, in _run_trial
    value_or_values = func(trial)
  File "D:\Projects\tuneta\tuneta\optimize.py", line 229, in <lambda>
    lambda trial: _objective(self, trial, X, y),
  File "D:\Projects\tuneta\tuneta\optimize.py", line 180, in _objective
    correlation = distance_correlation(
  File "D:\Projects\tuneta\tuneta\utils.py", line 39, in distance_correlation
    dis = dcor.distance_correlation(a, b)
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 1049, in distance_correlation
    distance_correlation_sqr(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 928, in distance_correlation_sqr
    return method.value.dcor_sqr(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 190, in <lambda>
    return lambda *args, **kwargs: self._dispatch(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 173, in _dispatch
    return getattr(DistanceCovarianceMethod.AVL.value, method)(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 145, in <lambda>
    self.dcor_sqr = lambda *args, **kwargs: self.stats_sqr(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 103, in <lambda>
    lambda *args, **kwargs: _distance_stats_sqr_generic(
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\dcor\_dcor.py", line 391, in _distance_stats_sqr_generic
    correlation_xy_sqr = xp.asarray(0, dtype=covariance_xy_sqr.dtype)
AttributeError: 'float' object has no attribute 'dtype'
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2021.3\plugins\python-ce\helpers\pydev\pydevd.py", line 1491, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2021.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "D:/Projects/tuneta/examples/tune_multiple.py", line 18, in <module>
    tt.fit(X_train, y_train,
  File "D:\Projects\tuneta\tuneta\tune_ta.py", line 175, in fit
    self.fitted = [fit.get() for fit in self.fitted]
  File "D:\Projects\tuneta\tuneta\tune_ta.py", line 175, in <listcomp>
    self.fitted = [fit.get() for fit in self.fitted]
  File "D:\Anaconda3\envs\tuneta\lib\site-packages\multiprocess\pool.py", line 771, in get
    raise self._value
AttributeError: 'float' object has no attribute 'dtype'
vnmabus commented 2 years ago

Please, check if the problem still occurs with PR #37.