Skip to content

Instantly share code, notes, and snippets.

@arnabchakraborty97
Created January 13, 2021 11:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arnabchakraborty97/f82055c7b139ec50917f5d088b48e09c to your computer and use it in GitHub Desktop.
Save arnabchakraborty97/f82055c7b139ec50917f5d088b48e09c to your computer and use it in GitHub Desktop.
model = tf.keras.Sequential()
def spectrogramOp(X):
spectrogram_out = tf.abs(tf.signal.stft(X, 200, 25, fft_length=256))
return spectrogram_out
lambda1 = tf.keras.layers.Lambda(spectrogramOp, name="lambda_spectrogram")
lambda15 = tf.keras.layers.Lambda(lambda x: tf.transpose(x, perm=(0,2,1)), input_shape=(633, 129), name="switch_hw")
lambda2 = tf.keras.layers.Lambda(lambda x: tf.reshape(x, (-1, 129, 633, 1)), name="add_channels")
conv2d1 = tf.keras.layers.Conv2D(4, (8, 129), strides=2, activation='relu', name="conv1", input_shape=(129, 633, 1))
conv2d2 = tf.keras.layers.Conv2D(8, (4, 4), strides=2, activation='relu', name="conv2")
conv2d3 = tf.keras.layers.Conv2D(8, (8, 8), strides=2, activation='relu', name="conv3")
flatten1 = tf.keras.layers.Flatten()
dense1 = tf.keras.layers.Dense(1)
activation1 = tf.keras.layers.Activation('sigmoid')
model.add(lambda1)
model.add(lambda15)
model.add(lambda2)
model.add(conv2d1)
model.add(conv2d2)
model.add(conv2d3)
model.add(flatten1)
model.add(dense1)
model.add(activation1)
model.compile(optimizer='adam', loss=tf.keras.losses.binary_crossentropy, metrics=['accuracy'])
model.fit(inputs_train, labels_train, batch_size=32, epochs=10,
validation_data=(inputs_test, labels_test))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment