【发布时间】:2020-04-18 11:01:47
【问题描述】:
PS,我已经更改了我的模型,但效果不佳(64%)
我有一个数据集(它是给定的,不是问题)。
all_speakers = np.unique([os.path.basename(i).split('_')[1] for i in fsdd])
np.random.shuffle(all_speakers)
train_speakers = all_speakers[:2]
test_speakers = all_speakers[2:]
print("All speakers:", all_speakers)
print("Train speakers:", train_speakers)
print("Test speakers:", test_speakers)
train_files = [
i for i in fsdd if os.path.basename(i).split('_')[1] in train_speakers
]
test_files = [i for i in fsdd if i not in train_files]
train = create_audio_dataset(train_files, training=True)
test = create_audio_dataset(test_files, training=False)
结果是:
所有发言者:['nicolas' 'theo' 'jackson']
培训演讲者:['nicolas' 'theo']
测试演讲者:['jackson']
目的是创建一个卷积神经网络,并获得90%以上的准确率。
我的模型不够好,我不认为是过拟合的问题。
model = keras.Sequential()
model.add(keras.layers.Conv1D(64,kernel_size=3,activation='relu',input_shape=(300,40)))
model.add(keras.layers.Conv1D(32,kernel_size=3,activation='relu'))
model.add(keras.layers.Dropout(0.5))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(100,activation='relu'))
model.add(keras.layers.Dense(10,activation='softmax'))
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'],
)
n_epoch = 12
model.fit(x=train.repeat(n_epoch))
model.evaluate(test)
【问题讨论】:
标签: python numpy tensorflow keras conv-neural-network