(diffstg) chkkar002@srvrocgpu010 /scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG$ python train.py
/home/chkkar002/envs/diffstg/lib64/python3.9/site-packages/nni/runtime/trial_command_channel/standalone.py:34: RuntimeWarning: Running trial code without runtime. Please check the tutorial if you are new to NNI: https://nni.readthedocs.io/en/stable/tutorials/hpo_quickstart_pytorch/main.html
  warnings.warn(warning_message, RuntimeWarning)
nvidia-smi > /scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/gpustat//gpustat.txt
wrong in load gpu info dict list index out of range
None gpu is avalible, try again later
{'PATH_FORECAST': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/forecast/',
 'PATH_LOG': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/log/',
 'PATH_MOD': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/model/',
 'T_h': 12,
 'T_p': 12,
 'batch_size': 8,
 'data': {'feature_file': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/data/dataset/SAWS/flow.npy',
          'name': 'SAWS',
          'num_features': 1,
          'num_recent': 1,
          'num_vertices': 8,
          'path': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/data/dataset/',
          'points_per_hour': 1,
          'spatial': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/data/dataset/SAWS/adj.npy',
          'test_start_idx': 70137,
          'val_start_idx': 52603},
 'device': device(type='cuda'),
 'early_stop': 10,
 'epoch': 300,
 'gpu_id': None,
 'is_test': True,
 'log_path': '/scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/log//UGnet+32+200+quad+0.1+200+ddpm+12+8+True+SAWS+0.0+True+False+0.002+8.log',
 'logger': <utils.common_utils.Logger object at 0x7f5717d61fa0>,
 'lr': 0.002,
 'mask_ratio': 0.0,
 'model': {'C': 32,
           'F': 1,
           'N': 200,
           'T_h': 12,
           'T_p': 12,
           'V': 8,
           'beta_end': 0.1,
           'beta_schedule': 'quad',
           'channel_multipliers': [1, 2],
           'd_h': 32,
           'day_len': 24,
           'device': device(type='cuda'),
           'epsilon_theta': 'UGnet',
           'is_label_condition': True,
           'n_channels': 32,
           'sample_steps': 200,
           'sample_strategy': 'ddpm',
           '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+ddpm+12+8+True+SAWS+0.0+True+False+0.002+8',
 'wd': 1e-05}
sample num: 52580
sample num: 17511
sample num: 17512
model_path: /scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/model/UGnet+32+200+quad+0.1+200+ddpm+12+8+True+SAWS+0.0+True+False+0.002+8N-200+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg
forecast_path: /scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/forecast/UGnet+32+200+quad+0.1+200+ddpm+12+8+True+SAWS+0.0+True+False+0.002+8.pkl
DiffSTG(
  (eps_model): UGnet(
    (down): ModuleList(
      (0-1): 2 x DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Identity()
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
      (2): Downsample(
        (conv): Conv2d(32, 32, kernel_size=(1, 3), stride=(1, 2), padding=(0, 1))
      )
      (3): DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
      (4): DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Identity()
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
    )
    (middle): MiddleBlock(
      (res1): ResidualBlock(
        (tcn1): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (tcn2): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (shortcut): Identity()
        (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
        (spatial): SpatialBlock()
        (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
      )
      (res2): ResidualBlock(
        (tcn1): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (tcn2): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (shortcut): Identity()
        (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
        (spatial): SpatialBlock()
        (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
      )
    )
    (up): ModuleList(
      (0-1): 2 x UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
      (2): UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(96, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(96, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(96, 32, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(96, 32, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
      (3): Upsample(
        (conv): ConvTranspose2d(32, 32, kernel_size=(1, 4), stride=(1, 2), padding=(0, 1))
      )
      (4-6): 3 x UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
    )
    (x_proj): Conv2d(1, 32, kernel_size=(1, 1), stride=(1, 1))
    (out): Sequential(
      (0): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1))
      (1): Linear(in_features=48, out_features=24, bias=True)
    )
  )
)
DiffSTG(
  (eps_model): UGnet(
    (down): ModuleList(
      (0-1): 2 x DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Identity()
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
      (2): Downsample(
        (conv): Conv2d(32, 32, kernel_size=(1, 3), stride=(1, 2), padding=(0, 1))
      )
      (3): DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
      (4): DownBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Identity()
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
    )
    (middle): MiddleBlock(
      (res1): ResidualBlock(
        (tcn1): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (tcn2): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (shortcut): Identity()
        (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
        (spatial): SpatialBlock()
        (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
      )
      (res2): ResidualBlock(
        (tcn1): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (tcn2): TcnBlock(
          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
          (chomp): Chomp()
          (drop): Dropout(p=0.0, inplace=False)
          (net): Sequential(
            (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (1): Chomp()
            (2): Dropout(p=0.0, inplace=False)
          )
        )
        (shortcut): Identity()
        (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
        (spatial): SpatialBlock()
        (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
      )
    )
    (up): ModuleList(
      (0-1): 2 x UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 64, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 64), eps=1e-05, elementwise_affine=True)
        )
      )
      (2): UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(96, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(96, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(96, 32, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(96, 32, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
      (3): Upsample(
        (conv): ConvTranspose2d(32, 32, kernel_size=(1, 4), stride=(1, 2), padding=(0, 1))
      )
      (4-6): 3 x UpBlock(
        (res): ResidualBlock(
          (tcn1): TcnBlock(
            (conv): Conv2d(64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(64, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
            (shortcut): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1))
          )
          (tcn2): TcnBlock(
            (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
            (chomp): Chomp()
            (drop): Dropout(p=0.0, inplace=False)
            (net): Sequential(
              (0): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 2))
              (1): Chomp()
              (2): Dropout(p=0.0, inplace=False)
            )
          )
          (shortcut): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1))
          (t_conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1))
          (spatial): SpatialBlock()
          (norm): LayerNorm((8, 32), eps=1e-05, elementwise_affine=True)
        )
      )
    )
    (x_proj): Conv2d(1, 32, kernel_size=(1, 1), stride=(1, 1))
    (out): Sequential(
      (0): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1))
      (1): Linear(in_features=48, out_features=24, bias=True)
    )
  )
)Num_of_parameters:810169
      |---Train--- |---Val Future-- -|-----Val History----|
Epoch | Loss  Time | MAE     RMSE     MAPE     SMAPE      VPT      CRPS     MIS    |  MAE    RMSE    MAPE    SMAPE    VPT     CRPS     MIS     Time|
   0.0| 12.975 0.5s |[151.95 252.94 764.09 175.01 0.00   7.14   6078.17] | 170.73 281.34 873.80 175.46 0.00   8.13   6829.291.70 s
   1.0| 10.572 0.1s | 153.67 253.28 773.63 174.69 0.00   7.22   6146.66 | 144.05 242.66 737.53 175.56 0.00   6.86   5762.001.67 s
   2.0| 10.309 0.1s |[145.42 242.78 731.31 174.62 0.00   6.83   5816.75] | 149.19 249.12 762.16 174.82 0.00   7.10   5967.791.68 s
   3.0| 10.255 0.1s |[142.68 239.72 717.07 174.98 0.00   6.71   5707.33] | 150.45 251.05 768.20 174.96 0.00   7.16   6018.051.68 s
   4.0| 10.209 0.1s | 148.99 247.69 748.56 175.15 0.00   7.00   5959.64 | 148.98 248.74 760.23 174.76 0.00   7.09   5959.051.66 s
   5.0| 10.178 0.1s | 149.56 250.10 750.44 176.30 0.00   7.03   5982.51 | 154.57 256.95 789.82 174.87 0.00   7.36   6182.781.67 s
   6.0| 10.144 0.1s | 149.72 250.97 750.87 176.10 0.00   7.04   5988.68 | 156.59 260.08 799.51 175.15 0.00   7.45   6263.791.67 s
   7.0| 10.099 0.1s | 150.04 251.13 752.85 176.02 0.00   7.05   6001.47 | 156.34 259.82 796.81 175.19 0.00   7.44   6253.771.67 s
   8.0| 10.062 0.1s | 148.67 250.42 745.94 175.86 0.00   6.99   5946.73 | 158.90 263.58 809.60 175.99 0.00   7.56   6355.811.67 s
   9.0| 9.996 0.1s | 152.78 256.42 766.95 176.12 0.00   7.18   6111.03 | 161.82 268.31 824.03 176.41 0.00   7.70   6472.771.67 s
  10.0| 9.932 0.1s | 152.70 257.38 766.72 176.11 0.00   7.18   6107.93 | 165.45 273.77 842.20 176.55 0.00   7.88   6618.101.67 s
  11.0| 9.877 0.1s | 153.66 259.95 771.06 176.34 0.00   7.22   6146.26 | 168.46 278.89 857.56 176.65 0.00   8.02   6738.441.67 s
  12.0| 9.809 0.1s | 155.79 263.48 781.47 176.12 0.00   7.32   6231.55 | 169.73 281.98 862.82 176.35 0.00   8.08   6789.251.67 s
  13.0| 9.744 0.1s | 158.54 268.39 795.17 176.45 0.00   7.45   6341.65 | 174.94 290.90 888.68 177.09 0.00   8.33   6997.561.68 s
  14.0| 9.683 0.1s | 161.94 274.02 812.91 176.39 0.00   7.61   6477.54 | 179.34 299.11 910.44 177.58 0.00   8.54   7173.461.65 s
best model loaded from: << /scratch/chkkar002/Diffusion_Based_STGNNs/DiffSTG/output/model/UGnet+32+200+quad+0.1+200+ddpm+12+8+True+SAWS+0.0+True+False+0.002+8N-200+T_h-12+T_p-12+epsilon_theta-UGnet.dm4stg
 |[14.41  18.51  71.82  50.48  0.00   0.58   96.71  ] | 15.88  20.29  80.36  54.03  0.00   0.61   99.29  0.80 s
sample_strategy:ddim_multi, sample_steps:40 Final results in test:14.41  18.51  71.82  50.48  0.00   0.58    96.71   | 15   
[2026-08-02 23:31:46] Final result: 14.413685

