wenhaomin / DiffSTG

Code for DiffSTG
MIT License
47 stars 6 forks source link

Condition Error in the 'evaluate' function. #4

Open cifang-Kasit opened 2 months ago

cifang-Kasit commented 2 months ago

image

Dear author,

Thank you for bring us the nice work.

As the picture shown, in the evaluate function, the way that extract the information from the condition will lead to the information loss of the 'pos_w'.

Would you mind take a quick look and see if this is an issue or my misunderstand?

Thank you so much.

wenhaomin commented 2 months ago

Hi, thank you for the question. Currently, we do not use the pos_w. We leave the interface here, feel free to use them make your model design!

cifang-Kasit commented 2 months ago

Thank you for your quick reply. I used the hyperparameter that provided by the code with the PEMS08 Dataset.

'T_h': 12, 'T_p': 12, 'batch_size': 8, 'data': {'feature_file': 'c:\Users\dell\Documents\GPU_directories\Ten\DiffSTG-main\DiffSTG-main/data/dataset/PEMS08/flow.npy', 'name': 'PEMS08', 'num_features': 1, 'num_recent': 1, 'num_vertices': 170, 'path': 'c:\Users\dell\Documents\GPU_directories\Ten\DiffSTG-main\DiffSTG-main/data/dataset/', 'points_per_hour': 12, 'spatial': 'c:\Users\dell\Documents\GPU_directories\Ten\DiffSTG-main\DiffSTG-main/data/dataset/PEMS08/adj.npy', 'test_start_idx': 14284, 'val_start_idx': 10713}, 'device': device(type='cuda', index=1), 'early_stop': 10, 'epoch': 300, 'gpu_id': 1, 'is_test': False, 'load_model': True, 'load_model_path': './DiffSTG-main/output/model/UGnet+32+100+quad+0.1+100+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8N-100+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg', 'log_path': 'c:\Users\dell\Documents\GPU_directories\Ten\DiffSTG-main\DiffSTG-main/output/log//UGnet+32+200+quad+0.1+200+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8+True+./DiffSTG-main/output/model/UGnet+32+100+quad+0.1+100+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8N-100+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg.log', 'logger': <utils.common_utils.Logger object at 0x00000152396EE520>, 'lr': 0.002, 'mask_ratio': 0.0, 'model': {'C': 32, 'F': 1, 'N': 200, 'T_h': 12, 'T_p': 12, 'V': 170, 'beta_end': 0.1, 'beta_schedule': 'quad', 'channel_multipliers': [1, 2], 'd_h': 32, 'day_len': 288, 'device': device(type='cuda', index=1), 'epsilon_theta': 'UGnet', 'is_label_condition': True, 'n_channels': 32, 'sample_steps': 200, 'sample_strategy': 'ddim_multi', 'supports_len': 2, 'week_len': 7}, 'model_name': 'DiffSTG', 'n_samples': 8, 'nni': False, 'optimizer': 'adam', 'start_epoch': 0, 'trial_name': 'UGnet+32+200+quad+0.1+200+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8+True+./DiffSTG-main/output/model/UGnet+32+100+quad+0.1+100+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8N-100+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg', 'wd': 1e-05} model loaded from: ./DiffSTG-main/output/model/UGnet+32+100+quad+0.1+100+ddim_multi+12+8+True+PEMS08+0.0+False+False+0.002+8N-100+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg sample num: 10690 sample num: 3548 sample num: 3549

Sorry for directly plot the log. However, I can not achieve the performance as the paper presented. image

May I kindly ask some suggestion on the hyperparameter that you performed? For example, I am wondering if the early step is too small.

Since the training really takes time, may I ask if the weight is possible to share or if it's possible to achieve the similar performance from my device.