python - 在音频分类中增加 val_acc
问题描述
我有属于 10 个类的 530 个数据点。我不确定应该为num_rows
and使用哪些数字num_columns
。
num_rows = 40
在这段代码中,我有num_columns = 174
:
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=2, input_shape=(num_rows, num_columns, num_channels), activation='relu'))
model.add(MaxPooling2D(pool_size=2))
#model.add(Dropout(0.2))
model.add(Conv2D(filters=64, kernel_size=2, kernel_regularizer=l2(0.00001), bias_regularizer=l2(0.0001), activation='relu'))
model.add(MaxPooling2D(pool_size=2))
#model.add(Dropout(0.2))
model.add(Conv2D(filters=128, kernel_size=2, kernel_regularizer=l2(0.00001), bias_regularizer=l2(0.0001), activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=128, kernel_size=2, kernel_regularizer=l2(0.00001), bias_regularizer=l2(0.0001), activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
#model.add(GlobalAveragePooling2D())
model.add(Flatten())
model.add(Dense(512, activation='relu'))
#model.add(Dropout(0.2))
model.add(Dense(256, activation='relu'))
#model.add(Dropout(0.2))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(64, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(10, activation='softmax'))
# Compile the model
#opt = keras.optimizers.Adam(learning_rate=0.001)
model.compile(loss='categorical_crossentropy', metrics=\['accuracy'\], optimizer="Adam")
解决方案
我猜你的输入上有某种频谱图(因为你正在处理音频,但输入上有 3 维形状)。您input_shape
必须反映您在输入中传递的图像的大小。只需检查它们的宽度和高度 - 这些是你的num_rows
和num_columns
。
根据该代码,图像有 3 个色带。这对照片很有意义,但对频谱图却很少。请记住,这些是通常为创建视觉上令人愉悦的可视化而生成的错误颜色,但在进行分类时不会得到任何东西。单通道就够了,像素强度反映了信号的强度(幅度)。
您可以做三件简单的事情:
- 使用单色图像,例如
input_shape=(num_rows, num_columns, 1)
。颜色只会混淆分类器。 - 获取更多数据并使用增强。
kernel_size=2
没有什么意义。首先阅读卷积以及内核是什么。
推荐阅读
- json - 如何在 Mongodb 中使用特定条件增加一些数字字段(但字符串)?
- nuxt.js - 为什么 Create-Nuxt-App 安装 nuxt 版本 1.4.5?
- visual-studio - 如何使用 NUnit 3.11 配置 Specflow 3.0.199?
- powershell - 使用 Powershell 从文件中提取 Git URL
- python - 如何使用 Selenium 和 Python 在 Wells Fargo 帐户中登录
- data-warehouse - 如何整合各种数据集市?
- c - 如何在另一个 C 文件中访问在一个 C 文件中声明的指向字符串文字的外部指针?
- python-3.x - 如何提高有偏见的 CNN 模型性能?(Keras,张量流)
- node.js - 文件在存储桶中被覆盖时下载 URL 更改。如何保留原始网址
- powerbi - 如何在power bi中获取当前月份