In [1]:
%matplotlib inline
%load_ext watermark
%watermark -v -m -p numpy,sklearn,tensorflow
In [2]:
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
In [3]:
sound_names = ["air conditioner","car horn","children playing","dog bark","drilling","engine idling",
"gun shot","jackhammer","siren","street music"]
sound_data = np.load('urban_sound_test.npz')
X_test= sound_data['X']
y_test = sound_data['y']
X_test.shape, y_test.shape
Out[3]:
In [4]:
training_epochs = 5000
n_dim = 193
n_classes = 10
learning_rate = 0.001
In [5]:
g1 = tf.Graph()
with g1.as_default():
X = tf.placeholder(tf.float32, [None, n_dim])
Y = tf.placeholder(tf.float32, [None, n_classes])
c1 = tf.layers.conv2d(tf.reshape(X, [-1, 1, n_dim, 1]), 50, (1, 5), padding='same',
activation=tf.nn.sigmoid, name="c1")
p1 = tf.layers.max_pooling2d(inputs=c1, pool_size=[1, 2], strides=2)
c2 = tf.layers.conv2d(tf.reshape(p1, [-1, 1, 96, 50]), 100, (1, 5), padding='same',
activation=tf.nn.sigmoid, name="c2")
p2 = tf.layers.max_pooling2d(inputs=c2, pool_size=[1, 2], strides=2)
h_p = tf.reshape(p2, [-1, 48*100])
h_1 = tf.layers.dense(inputs=h_p, units=1000, activation=tf.nn.sigmoid,
kernel_initializer=tf.contrib.layers.xavier_initializer(), name="fc1")
y_hat = tf.layers.dense(inputs=h_1, units=n_classes,
kernel_initializer=tf.contrib.layers.xavier_initializer(),
name="h4")
correct_prediction = tf.equal(tf.argmax(y_hat,1), tf.argmax(Y,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
init = tf.global_variables_initializer()
saver = tf.train.Saver()
In [7]:
with tf.Session(graph=g1) as sess:
sess.run(init)
saver.restore(sess, 'model_adam.ckpt')
print('Test accuracy: ',round(sess.run(accuracy, feed_dict={X: X_test, Y: y_test}) , 3))
In [ ]: