Когда я использовал код, предоставленный codelabs.developers.google для тестирования, я обнаружил, что точность слишком низкая и чувствительна к любому звуку.
После этого я добавил следующий код для работы buildModel()
, но проблема до сих пор не решена.
function buildModel() {
model = tf.sequential();
model.add(tf.layers.conv2d(
{filters: 8, kernelSize: [2, 8],strides: [1, 1], activation: 'relu', inputShape: INPUT_SHAPE,}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [2, 2]}));
model.add(
tf.layers.conv2d({filters: 32, kernelSize: [2, 4],strides: [1, 1], activation: 'relu'}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [2, 2]}));
model.add(
tf.layers.conv2d({filters: 32, kernelSize: [2, 4], activation: 'relu'}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [2, 2]}));
model.add(
tf.layers.conv2d({filters: 32, kernelSize: [2, 4], activation: 'relu'}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [1, 2]}));
model.add(tf.layers.flatten());
model.add(tf.layers.dropout({rate: 0.25}));
model.add(tf.layers.dense({units: 2000, activation: 'relu'}));
model.add(tf.layers.dropout({rate: 0.5}));
model.add(tf.layers.dense({units: 3, activation: 'softmax'}));
const optimizer = tf.train.adam(0.01);
model.compile({
optimizer,
loss: 'categoricalCrossentropy',
metrics: ['accuracy']
});
}
Или я ошибаюсь? Так что могу ли я получить некоторые предложения отсюда, я думаю, это было бы большим вдохновением для моего следующего направления.