AdaptiveMotorControlLab / CEBRA

Learnable latent embeddings for joint behavioral and neural analysis - Official implementation of CEBRA
https://cebra.ai
Other
918 stars 77 forks source link

Experiencing error setting up multi-sessions #192

Open Gunnar-Stunnar opened 3 weeks ago

Gunnar-Stunnar commented 3 weeks ago

Is there an existing issue for this?

Bug description

I am receiving this error when passing multiple sessions to the fit function:

ValueError: You need to specify either a single generator, or multiple SingleSessionDataset instances.

Here is my code:

          max_iterations = 5000 #default is 5000.
          output_dimension = 3 #here, we set as a variable for hypothesis testing below.

          # intiate the model
          self.cebra_model = CEBRA(
                          model_architecture='offset10-model',
                          batch_size=512,
                          learning_rate=5e-5, # 1e-6
                          temperature= 0.1, # 0.2
                          output_dimension=output_dimension,
                          max_iterations=max_iterations,
                          max_adapt_iterations=10,
                          distance='cosine',
                          conditional='time_delta',
                          device='cuda_if_available',
                          verbose=True,
                          time_offsets=10)

          # train conditioned on position data only
          self.models[exp] = self.cebra_model.fit(*hypothesis_dataSet[exp])

my data is being passed like this

*hypothesis_dataSet[exp]

hypothesis_dataSet[exp] is an array where the first index is my data, and the second index is my labels

hypothesis_dataSet[exp] = [data, label]

I have a collection of experiments I am running so I am passing them like this for automation

self.cebra_model.fit(*hypothesis_dataSet[exp])

Operating System

operating system Google colab

CEBRA version

cebra version cebra-0.4.0

Device type

gpu

Steps To Reproduce

Currently it happens every time I try to use multi-session even when I am not passing the array to be converted to parameters. I am passing a list of numpy arrays. Each numpy array represents a session.

Relevant log output

No response

Anything else?

No response

Code of Conduct

stes commented 2 weeks ago

Hi @Gunnar-Stunnar , thanks for reporting this. To enable better reproducibility of the issue, could you update the description with a minimum reproducible example of the issue? Happy to look into a fix then!