ICSM/pgmuvi

[BUG] need more elegant way of dealing with a 1-element light curve

Ouverte

#35 ouverte le 27 août 2023

 (4 commentaires) (0 réaction) (0 personne assignée)Python (6 forks)auto 404
good first issuetest needed

Métriques du dépôt

Stars
 (14 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Describe the bug The current implementation of the Lightcurve object allows the creation of a 1-element light curve, but subsequently throws an error when the set_model method is called:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Volumes/SSD2TBShaanpatiKhan/MovedHomeFolder/sundar/work/SAGE/2308/PGMUVI_2comp/test_pgmuvi_2comp_newest.py", line 287, in driver
    main(runall=True)
  File "/Volumes/SSD2TBShaanpatiKhan/MovedHomeFolder/sundar/work/SAGE/2308/PGMUVI_2comp/test_pgmuvi_2comp_newest.py", line 279, in main
    _ = pgmuvi_2comp(lightcurve_1d, period_guess,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Volumes/SSD2TBShaanpatiKhan/MovedHomeFolder/sundar/work/SAGE/2308/PGMUVI_2comp/test_pgmuvi_2comp_newest.py", line 37, in pgmuvi_2comp
    lightcurve.set_model(model="1D", likelihood="learn", num_mixtures=2)
  File "/Volumes/SSD2TBShaanpatiKhan/MovedHomeFolder/sundar/work/pgmuvi/pgmuvi/lightcurve.py", line 493, in set_model
    self.model = model_dic_1[model](self._xdata_transformed,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Volumes/SSD2TBShaanpatiKhan/MovedHomeFolder/sundar/work/pgmuvi/pgmuvi/gps.py", line 46, in __init__
    self.covar_module.initialize_from_data(train_x, train_y)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/gpytorch/kernels/spectral_mixture_kernel.py", line 244, in initialize_from_data
    min_dist = sorted_dists[..., 0, :]
               ~~~~~~~~~~~~^^^^^^^^^^^
IndexError: index 0 is out of bounds for dimension 1 with size 0

To Reproduce Steps to reproduce the behaviour:

lc = Lightcurve(torch.Tensor([[0.]]), torch.Tensor([[6.9557]]), xtransform='minmax')
lc.set_model(model="1D", likelihood="learn", num_mixtures=2)

Expected behaviour An attempt to create the Lightcurve object should throw an exception in the case of a one-element light curve.

Guide contributeur