# ECG_simple_resnet **Repository Path**: aiwiscal/ecg_simple_resnet ## Basic Information - **Project Name**: ECG_simple_resnet - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-26 - **Last Updated**: 2025-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 这是一个示例,使用一个简单的ResNet进行ECG分类。 # 数据集 + Chapman数据库,来自 Chapman 大学与绍兴市人民医院的开源数据库。共4类: - 心房颤动(Atrial Fibrillation,AF); - 一般性室上性心动过速(General Supraventricular Tachycardia,GSVT); - 窦性心动过缓(Sinus Bradycardia,SB); - 正常窦性心律(Sinus Rhythm,SR)。 + 原始数据库包含12导联,采样率500Hz,每条信号长10s,因此每个样本共12x5000个点。 + 经过处理后,去除冗余导联,剩余I、II、V1~V6共8个导联。因为导联III、aVR、aVL、aVF可以由I、II运算得来,即这4个导联为冗余导联。长度5000个点也重采样为2048个点。 + 本人提供的数据中已经划分好了训练集、验证集、测试集,比例约为7:1:2。可以直接用。 + 更多信息参考论文:[https://www.nature.com/articles/s41597-020-0386-x](https://www.nature.com/articles/s41597-020-0386-x) 注意这里实际使用的样本数并非与论文中一致。自己可以算下多少样本。 # 数据处理 data_utils文件夹下三个代码文件主要用于处理数据,以使其能用于模型训练与测试。 + augmentations.py:数据增强,但是现在只包含对numpy array转为pytorch tensor的代码。你如果好的数据增强方案就加进去,并且修改其他必要的代码用起来; + cls_datasets.py:构造PyTorch模型训练必需的Dataloader; + data_folder.py:构造PyTorch模型训练必需的Dataset类,DatasetFolder是Dataset的一个子类。一般不需要改。 # 模型 + 一个简易的ResNet,来自论文:[https://arxiv.org/abs/1611.06455](https://arxiv.org/abs/1611.06455) + 只不过**缩减了宽度(下图中64变为32,128变为64)**。 ![](simple_resnet.png) + 代码:models/resnet.py # 运行 + run_net.py,包含了所有训练、验证、测试过程,应直接运行该文件。注意修改数据路径。 # 注意事项 + **这仅仅是一个示例,最好不要直接拿这个方案当做自己的设计。** + 先尝试跑通,再自己尝试搭建一些网络(不会的话就网上找点资料,很多),比如其他类型的CNN、RNN、Transformer,取代这个示例中的ResNet。并不难。