Python, Pytorch使用xLSTM-Transformer对序列进行分类源代码。xLSTM是不久前LSTM团队提出来的新模型,将xLSTM融入Transformer的Encoder中,创新型较强。另外,Transformer是完整的,即使用了Encoder、Decoder和Embedding所有模块。
程序工作如下:
1、加载数据,调整为网络需要的输入格式。原始数据为Excel,400条1*500的序列(心电信号),其中200条正常,200条异常。将每条1*500的信号强行调整成50*10,看作序列长度50*维度10。这样做是为了满足Transformer的输入格式,这一步非常关键。按7:1:2划分训练集、验证集和测试集。
2、从xLSTM.py中导入xLSTM类,依次构建Encoder类、Decoder类,进而构建完整的xLSTM-Transformer。Transformer中包含2层Encoder和2层Decoder,每层Encoder中包含1层xLSTM。
3、训练、测试。显示训练集Acc和Loss变化并绘图显示。计算测试集Acc、Pre、Recall、F1-score,绘制混淆矩阵。
注:本程序是实现二分类,有基础方便改为多分类。方便替换数据,但需要大致看懂并修改数据维度转化部分。源程序是jupyterLab所写,建议分块运行。也整理了.py程序供PyCharm等运行。时间关系仅解答简单问题,谢谢理解。
程序完全由本人整理,近来有许多用户盗版本人程序,私聊后还拒不承认。。。因此于2024.12.2在淘天知识产权平台备案了此程序,如有盗版将将追究。祝大家科研顺利。
【闲鱼链接】: https://m.tb.cn/h.TWm7Vr7?tk=x3oH3FzUsAG HU0854
如果链接失效,可在闲鱼搜索:耐心的等待5283,然后点“用户”即可找到个人主页下的程序。