基于1D-CNN的序列训练及识别
记录一下在深度学习中使用1D-CNN进行序列点集的识别的全过程。准备的数据集比较少且模型比较简单,所以训练的过程很快,会在这里简单记录一下从准备数据集、模型构建、模型训练 以及 模型预测的全过程。
1.数据集准备和处理
(1)收集手写体数据集,进行切割保存为square,调整大小,放在对应的文件夹下
(2)对所有的图片进行二值化处理
(3)使用bfs_skeleton进行骨架提取与特征点集保存(30个点)
(4)筛选掉特征不明显或者有明显紊乱的数据,即进行数据清洗
(5)对所有的文件进行整理,重命名以及归类,并进行备份
(6)每一个类别都只保留csv文件,并且使用reserve进行逆序生成
(7)至此,训练需要用到的数据处理完成
2.基于1D-CNN的序列训练及识别
1D卷积神经网络(1D-CNN)模型,通常用于处理一维数据,如时间序列数据、音频信号或序列数据。
2.1 模型架构解析
对于1D-CNN来说,模型架构如下所示:
def create_1dcnn_model(input_shape, num_classes):
model = tf.keras.models.Sequential([
tf.keras.layers.Conv1D(32, kernel_size=3, activation='relu', input_shape=input_shape),
tf.keras.layers.MaxPooling1D(pool_size=2