#tensorflow #machine-learning #keras #deep-learning
#тензорный поток #машинное обучение #keras #глубокое обучение
Вопрос:
Я создал сборку звукового классификатора с использованием Keras из некоторых учебных пособий в Интернете. Вот мой код модели
import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, InputLayer, Dropout, Conv1D, Conv2D, Flatten, Reshape, MaxPooling1D, MaxPooling2D, BatchNormalization, TimeDistributed from tensorflow.keras.optimizers import Adam model = Sequential() model.add(Reshape((int(input_length / 40), 40), input_shape=(input_length, ))) model.add(Conv1D(8, kernel_size=3, activation='relu', padding='same')) model.add(MaxPooling1D(pool_size=2, strides=2, padding='same')) model.add(Dropout(0.25)) model.add(Conv1D(16, kernel_size=3, activation='relu', padding='same')) model.add(MaxPooling1D(pool_size=2, strides=2, padding='same')) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(classes, activation='softmax', name='y_pred')) opt = Adam(lr=0.005, beta_1=0.9, beta_2=0.999) # this controls the batch size, or you can manipulate the tf.data.Dataset objects yourself BATCH_SIZE = 32 train_dataset = train_dataset.batch(BATCH_SIZE, drop_remainder=False) validation_dataset = validation_dataset.batch(BATCH_SIZE, drop_remainder=False) model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) model.fit(train_dataset, epochs=1000, validation_data=validation_dataset, verbose=2, callbacks=callbacks)
Мой учитель спрашивает меня, какой алгоритм я использую для классификации (он сказал что-то вроде K-NN, Наивного Байеса, SVM или что-то в этом роде), и я не знаю, что я использую.
Ответ №1:
Вы используете Сверточную нейронную сеть (CNN)