meraks / Swin-Transformer-1D

Swin-Transformer 1D implements
MIT License
38 stars 2 forks source link

tensorflow版本 #3

Open zhichunlizzx opened 1 year ago

zhichunlizzx commented 1 year ago

大佬考虑出个tensorflow版本的吗

meraks commented 1 year ago

不是大佬,暂时没有这个打算,你可以找找其他使用TF实现的2D模型,然后修改WindowAttention等部分。

zhichunlizzx commented 1 year ago

假如模型有四层basicLayer,输入序列的长度L经过四层basicLayer后会变为原来的1/16,channel会变为原来的16倍,这时候如何恢复序列的长度呢(我的任务是对序列中每个节点都做出分类)?我看的sw transformer代码里都没有这方面的处理。而直接reshape显然不合理。作者这边有什么想法吗?

meraks commented 1 year ago

你要是阅读了SwinT的原始文章的话,就会发现,序列长度每过一次BasicLayer后就会缩短,这里依靠的PatchMerge实现的。所以针对你的问题,如果你要跑完forward保持序列长度不变,一种方案是不做PatchMerge,另一种方案就是类似unet那种你再做上采样的分支。