论文介绍
论文题目:ShapeFormer: Shapelet Transformer for Multivariate Time Series Classification
论文PDF:https://arxiv.org/pdf/2405.14608
论文代码:https://github.com/xuanmay2701/shapeformer
论文内容:多元时间序列分类
环境配置准备工作
前几天使用Windows复现论文,遇到了一些困难,并且也记录了过程,可以参看:Windows复现论文,但是没成功。接下来使用Linux来复现一下。
- 安装驱动
参考链接:显卡驱动安装 - 安装Anaconda和Pycharm
参考链接:安装anaconda和pycharm - 安装Anaconda+Pycharm
参考链接:安装cuda+cudnn
根据论文创建虚拟环境
-
创建虚拟环境
每一个项目用到的包可能版本都不同,anaconda为我们提供了虚拟环境的功能。使用以下命令创建虚拟环境:
bashconda create -n ShapeFormer python=3.8 -y
-
激活虚拟环境
bashconda activate ShapeFormer
-
安装requirements.txt 中的包:
bashpip install -r requirements.txt
说需要pip版本小于24.1,查看pip版本:(24.2)
降低pip版本:
bashpython -m pip install pip==24.0
重新安装requirements.txt 中的包:
bashpip install -r requirements.txt
直接成功(Windows折腾了好久都没成功):
Pycharm运行代码
-
用Pycharm打开项目代码:
-
配置虚拟环境解释器
-
运行main.py文件
因为都有默认参数,所以先不管性能好坏,运行起来最重要:
-
解决报错
发现是sktime包的问题,之前在Windows上也是这个包事多(没有Windows版本的,需要自己编译源代码)。
先查看sktime版本和论文提供代码的是否一致:
powershellconda list
安装的0.4.3是和论文的一样:
大概率就是sktime版本更新后,这个函数没了(可能函数名换了,或者路径换了),发现论文代码上面有三个不同路径导入这个函数,我试了下第一个可以导入这个函数:
-
没有这个包,安装一下(requirements.txt居然没提供),在这个虚拟环境下安装:
powershellpip install seaborn
-
结果展示
总结
这篇论文代码基本可以运行,我更改参数后也有一点问题,这就需要阅读代码了,后面我会出一期代码阅读的文章。
还有就是尽量使用Linux来复现论文,Windows太麻烦了。