Skip to content

在FACED数据集上不加载预训练权重训练模型,结果异常 #22

Description

@trefoil0219

您好!感谢CbraMod项目中脑电领域做出的突出贡献。我对数据集FACED进行不加载预训练权重的训练,得到的结果与您的论文中报告的结果差异过大。我现在怀疑我的参数设置有误。
我运行finetune_main.py文件进行微调,以下是我的代码运行日志:
faced.txt
参数设置如下(日志太长不看版):

Namespace(seed=3407, cuda=0, epochs=50, batch_size=64, lr=0.0001, weight_decay=0.05, optimizer='AdamW', clip_value=1, dropout=0.1, classifier='all_patch_reps', downstream_dataset='FACED', datasets_dir='/data/faced/processed_for_finetuning', num_of_classes=9, model_dir='./finetuned_model/', num_workers=16, label_smoothing=0.1, multi_lr=True, frozen=False, use_pretrained_weights=False, foundation_dir='pretrained_weights/pretrained_weights.pth')
The downstream dataset is FACED
6720 1680 1932
10332
Model(
  (backbone): CBraMod(
    (patch_embedding): PatchEmbedding(
      (positional_encoding): Sequential(
        (0): Conv2d(200, 200, kernel_size=(19, 7), stride=(1, 1), padding=(9, 3), groups=200)
      )
      (proj_in): Sequential(
        (0): Conv2d(1, 25, kernel_size=(1, 49), stride=(1, 25), padding=(0, 24))
        (1): GroupNorm(5, 25, eps=1e-05, affine=True)
        (2): GELU(approximate='none')
        (3): Conv2d(25, 25, kernel_size=(1, 3), stride=(1, 1), padding=(0, 1))
        (4): GroupNorm(5, 25, eps=1e-05, affine=True)
        (5): GELU(approximate='none')
        (6): Conv2d(25, 25, kernel_size=(1, 3), stride=(1, 1), padding=(0, 1))
        (7): GroupNorm(5, 25, eps=1e-05, affine=True)
        (8): GELU(approximate='none')
      )
      (spectral_proj): Sequential(
        (0): Linear(in_features=101, out_features=200, bias=True)
        (1): Dropout(p=0.1, inplace=False)
      )
    )
    (encoder): TransformerEncoder(
      (layers): ModuleList(
        (0-11): 12 x TransformerEncoderLayer(
          (self_attn_s): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=100, out_features=100, bias=True)
          )
          (self_attn_t): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=100, out_features=100, bias=True)
          )
          (linear1): Linear(in_features=200, out_features=800, bias=True)
          (dropout): Dropout(p=0.1, inplace=False)
          (linear2): Linear(in_features=800, out_features=200, bias=True)
          (norm1): LayerNorm((200,), eps=1e-05, elementwise_affine=True)
          (norm2): LayerNorm((200,), eps=1e-05, elementwise_affine=True)
          (dropout1): Dropout(p=0.1, inplace=False)
          (dropout2): Dropout(p=0.1, inplace=False)
        )
      )
    )
    (proj_out): Identity()
  )
  (classifier): Sequential(
    (0): Rearrange('b c s d -> b (c s d)')
    (1): Linear(in_features=64000, out_features=2000, bias=True)
    (2): ELU(alpha=1.0)
    (3): Dropout(p=0.1, inplace=False)
    (4): Linear(in_features=2000, out_features=200, bias=True)
    (5): ELU(alpha=1.0)
    (6): Dropout(p=0.1, inplace=False)
    (7): Linear(in_features=200, out_features=9, bias=True)
  )
)
结果:
Epoch 50 : Training Loss: 2.19850, acc: 0.11111, kappa: 0.00000, f1: 0.03571, LR: 0.00000, Time elapsed 0.47 mins
[[  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 240   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]
 [  0   0   0   0 180   0   0   0   0]]

这与论文中的结果差距过大,混淆矩阵也很异常,您能否帮我查看是参数设置或者其他地方出现了问题或者错误?另外您在SEED-V数据集上的不加载预训练权重的训练参数设置是怎么样的,非常感谢!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions