训练
配置环境
安装virtualenv
创建虚拟环境
virtualenv -p python3.6 ecg_env
激活虚拟环境
修改脚本
修改setup.sh 换清华园镜像,便于在虚拟环境中快速安装库
运行下载包库的脚本
保证训练集和验证集运行模型时的环境一致,这里使用tensorFlow.18。
下载数据集
论文实现的是数据集二,但是我无法找到数据集二。所以复现了他的第一个example。
从挑战赛官网https://www.physionet.org/content/challenge-2017/1.0.0/,下载模型需要的数据集
![image-20\Roaming\Typora\typora-user-images\image-20211103211848265.png)
执行训练代码前的准备工作
1.执行生成json的python代码,在cinc17文件夹下生成json
其中trian.join文件为该研究的训练集,des.join为验证集
2.然后在ecg文件夹下新建saved文件夹
3.根据报错修改相应代码(修改包的引用,和代码二进制的写入)
执行训练代码
解决所有因版本产生的问题,改变100epoch为25epoch(100轮太久,而且预计在25轮左右之后,对准确率的提升并不大),运行代码。
这里提前中断了,但并不是EarlyStoping自行停止,因为代码中给的patience是8,也就是8轮没有优化,才会停止。
#train.py
stopping = keras.callbacks.EarlyStopping(patience=8)
但是也能看出,接下来的训练,对正确率的影响已经很微小了,最后一轮的准确率有92%。
查看训练模型文件
模型验证
执行验证代码前的准备工作
1.\examples\cinc17\entry\prepare-entry.sh 修改脚本中的路径信息
2.\examples\cinc17\setup.sh 修改安装版本和安装来源
3.\examples\cinc17\entry\next.sh 修改 环境激活的语句和路径,保证可以持续验证
安装验证环境
运行setup.sh脚本
执行验证脚本
指定测试集中 表现最好的模型,生成文件夹,拷贝文件并开始执行文件,依次验证写入answer.txt。
sh prepare-entry.sh C:/Users/abc/saved/cinc17/1636036307-521/0.419-0.855-021-0.221-0.926.hdf5
集合级别的结果比较
准确率是0.92