Skip to content

仍然是cifar10DVS数据集训练的问题 #4

@andwizard

Description

@andwizard

我之前有在github上和您讨论过,但是后面经过改动还是无法正确复现cifar10DVS数据集上的结果,能否请您就DVS数据集的训练给我一些指导。
我想把我的改动流程和您讨论一下,看看是否有什么纰漏
首先是configs文件,项目中只给出了small这个yaml文件,按我的的理解的话训练cifar10DVS 需要在yaml文件中的DATA增加一个参数:
DATASET :cifar10dvs

Image

然后在就会构建tiny_dvs模型,然后由于num_subnet(8)和训练数据的帧数(10)对不上,

num_subnet = 8

我就把这里的num_subnet=8改成10了

然后将这一行放入for循环内部,保证输出是(T,B,C)尺寸

x_cls_out.append(self.cls_blocks(c3 / self.num_subnet))

但是由于此时输出的是长度为T的list 而不是张量,我就将main_no_decoder.py下这里改成了这样,同时对TET_loss使用output[-1]我也有些疑问,我这里把[-1]去掉了,因为我的理解来说是每个T都要用于计算TET_loss
Image
对于后续的validata阶段,按照您之前的说法把517以及518行删掉了
if model.module.dvs:

在计算ACC的时候依然还是使用输出的最后一个通道(output_last=output[-1])来计算的
最终300轮之后我的模型在cifaer10dvs上的acc1仅有46%左右,是否是我哪里疏忽了

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