Jathurshan0330 / Cross-Modal-Transformer

Official repository of cross-modal transformer for interpretable automatic sleep stage classification. https://arxiv.org/abs/2208.06991
45 stars 3 forks source link

Issue for cmt_training.py #6

Open ting-chuan-wang opened 2 days ago

ting-chuan-wang commented 2 days ago

I run your code, and got an error, please help me. Thank you.

python cmt_training.py --project_path "./results/0927/" --data_path "/home/tingw/mne_data/physionet-sleep-data/multi_epoch/" --train_data_list [0,1,2,3] --val_data_list [4] --model_type "Seq"

The error message is, Traceback (most recent call last): File "/home/tingw/CMTrans/Cross-Modal-Transformer/cmt_training.py", line 155, in main() File "/home/tingw/CMTrans/Cross-Modal-Transformer/cmt_training.py", line 92, in main train_data_loader, val_data_loader = get_dataset(device,args) File "/home/tingw/CMTrans/Cross-Modal-Transformer/datasets/sleep_edf.py", line 412, in get_dataset train_dataset = SleepEDF_Seq_MultiChan_Dataset_Main(eeg_file = train_eeg_list , File "/home/tingw/CMTrans/Cross-Modal-Transformer/datasets/sleep_edf.py", line 223, in init bin_labels = np.bincount(self.labels) ValueError: object too deep for desired array

== LOG below ==  Torch Version : 1.10.0+cu113 Training Arguements ====================================> project_path : ./results/0927/ data_path : /home/tingw/mne_data/physionet-sleep-data/multi_epoch/ train_data_list : ['[0,1,2,3]'] val_data_list : ['[4]'] is_retrain : False model_path :
save_model_freq : 50 model_type : Seq d_model : 128 dim_feedforward : 512 window_size : 50 num_seq : 15 batch_size : 32 weigths : [1.0, 2.0, 1.0, 2.0, 2.0] lr : 0.001 beta_1 : 0.9 beta_2 : 0.999 eps : 1e-09 weight_decay : 0.0001 n_epochs : 200 step_size : 30 gamma : 0.5 is_neptune : False nep_project :
nep_api :
Project directory created at ./results/0927/ Getting Dataset ===================================> ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x1.h5', '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x2.h5', '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x3.h5', '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x4.h5', '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x5.h5'] Training Data Files: ===========================> ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/y1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/y2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/y3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/y4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/mean1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/mean2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/mean3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/mean4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/std1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/std2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/std3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/std4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_m1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_m2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_m3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_m4.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_std1.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_std2.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_std3.h5' '/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_std4.h5'] Validation Data Files: ===========================> ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/x5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/y5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/mean5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/std5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_m5.h5'] ['/home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog_std5.h5'] Loading Train Data for many-to-many classification ==================================> Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/x1.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 43455 Shape of each data : (43455, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog1.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 43455 Shape of each data : (43455, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/y1.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 43455 Shape of each data : (43455, 5) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/x2.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 39919 Shape of each data : (39919, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog2.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 39919 Shape of each data : (39919, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/y2.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 39919 Shape of each data : (39919, 5) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/x3.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 35112 Shape of each data : (35112, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog3.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 35112 Shape of each data : (35112, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/y3.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 35112 Shape of each data : (35112, 5) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/x4.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 40211 Shape of each data : (40211, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/eog4.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 40211 Shape of each data : (40211, 5, 3000) Reading from /home/tingw/mne_data/physionet-sleep-data/multi_epoch/y4.h5 ==================================================== Keys in the h5py file : <KeysViewHDF5 ['data']> Number of samples : 40211 Shape of each data : (40211, 5) Traceback (most recent call last): File "/home/tingw/CMTrans/Cross-Modal-Transformer/cmt_training.py", line 155, in main() File "/home/tingw/CMTrans/Cross-Modal-Transformer/cmt_training.py", line 92, in main train_data_loader, val_data_loader = get_dataset(device,args) File "/home/tingw/CMTrans/Cross-Modal-Transformer/datasets/sleep_edf.py", line 412, in get_dataset train_dataset = SleepEDF_Seq_MultiChan_Dataset_Main(eeg_file = train_eeg_list , File "/home/tingw/CMTrans/Cross-Modal-Transformer/datasets/sleep_edf.py", line 223, in init bin_labels = np.bincount(self.labels) ValueError: object too deep for desired array

Jathurshan0330 commented 15 hours ago

Can you comment out the bin_labels? It is there to check the counts of different classes. I hope it works