def test_pca_mdb(self): featureset = musicset.MusicSet(dirname='features2') train = featureset.load_train_data() new_features = reduce.pca(train.music) storage = store(featureset.results_dir) storage['reduced_mdb.dat'] = new_features self.assertGreater(train.music.shape[1], new_features.shape[1])
def classify(self): storage = store(os.path.join(settings.BRAIN_DIR, 'nn')) save_path = storage['save.path'] meta_path = save_path + '.meta' saver = tf.train.import_meta_graph(meta_path) data = self.get_features() n_f = data.shape[0] data = data.reshape((1, n_f)) prediction = None with tf.Session() as sess: saver.restore(sess, save_path) graph = tf.get_default_graph() x = graph.get_tensor_by_name('x:0') y_ = graph.get_tensor_by_name('y_:0') keep_prob = graph.get_tensor_by_name('keep_prob:0') result = sess.run(y_, feed_dict={x: data, keep_prob: 1})[0] idx = np.argmax(result) dataset = musicset.MusicSet() dataset.one_hot_encode_genres() for genre in dataset.genres: if dataset.encoded_genres[genre][idx] == 1: prediction = genre if self.prediction is not None: self.prediction.destroy() self.prediction = tk.Label(self.root, text=prediction) self.prediction.config(font=("Courier", 36)) self.prediction.grid(row=0, column=1)
def test_training(self): p = os.path.join(settings.BRAIN_DIR, "specfeat") if not os.path.isdir(p): os.mkdir(p) dataset = musicset.MusicSet(dirname='features_s_10', force_load=True) dataset.load_files() dataset.one_hot_encode_genres() cnn_t = sf.CNNFeat(dataset) ds = cnn_t.train(display_step=100, path=p) print(ds.music.shape) print(ds.labels.shape)
def test_training(self): dataset = musicset.MusicSet(dirname='features_m_10_fl100') dataset.load_files() dataset.load_train_data() dataset.load_test_data() if settings.PCA: components = reduce.pca_comp(dataset.train.music) k = components.shape[1] dataset.train.music = np.matmul(components.T, dataset.train.music.T) dataset.train.music = dataset.train.music.T dataset.test.music = np.matmul(components.T, dataset.test.music.T) dataset.test.music = dataset.test.music.T cnn_t = cnn.CNN(dataset) cnn_t.train(display_step=100)
def test_nn(self): p = os.path.join(settings.BRAIN_DIR, "specfeat") dataset = musicset.MusicSet(dirname='special') dataset.load_files() dataset.one_hot_encode_genres() storage = store(p) ds = storage['features.dat'] all_data = np.hstack(tuple(np.split(ds.music, 10, axis=0))) all_labels = np.hstack(tuple(np.split(ds.labels, 10, axis=0))) dataset.train = musicset.DataSet() dataset.test = musicset.DataSet() dataset.train.music = np.vstack( tuple(np.split(all_data[:70, :], 10, axis=-1))) dataset.train.labels = np.vstack( tuple(np.split(all_labels[:70, :], 10, axis=-1))) dataset.test.music = np.vstack( tuple(np.split(all_data[70:, :], 10, axis=-1))) dataset.test.labels = np.vstack( tuple(np.split(all_labels[70:, :], 10, axis=-1))) nn_t = nn.NN(dataset, n_input=256) step = 100 tr, te, trc, tec = nn_t.train(display_step=step, out=True, path='special.final') epochs = np.arange(int(settings.NN['TRAINING_CYCLES'] / step)) f, ax = plt.subplots(2) ax[0].plot(epochs, tr, color='#FF2D00', label='Training Accuracy') #ax[0].plot(epochs, vl, color='#1DFF00', label='Validation Accuracy') ax[0].plot(epochs, te, color='#0014FF', label='Testing Accuracy') ax[0].legend(loc="lower right") ax[0].set_xlabel('Epoch') ax[0].set_ylabel('Accuracy') ax[0].set_title('Accuracy vs Number of epochs') ax[1].plot(epochs, trc, color='#FF2D00', label='Training Lost') ax[1].plot(epochs, tec, color='#1DFF00', label='Test Lost') ax[1].legend(loc="lower right") ax[1].set_xlabel('Epoch') ax[1].set_ylabel('Loss') ax[1].set_title('Loss vs Number of Epochs') f.suptitle('Network with %s layers' % settings.NN['NUM_HIDDEN_LAYERS']) plt.show()
def test_training(self): dataset = musicset.MusicSet(dirname='features_md_6') dataset.load_files() dataset.load_train_data() dataset.load_test_data() #print(dataset.test.music.shape) #return # dataset.load_validation_data() # print(dataset.validation.music[:10, :10]) # return if settings.PCA: components = reduce.pca_comp(dataset.train.music) k = components.shape[1] dataset.train.music = np.matmul(components.T, dataset.train.music.T) dataset.train.music = dataset.train.music.T dataset.test.music = np.matmul(components.T, dataset.test.music.T) dataset.test.music = dataset.test.music.T nn_t = nn.NN(dataset, n_input=k) else: nn_t = nn.NN(dataset) step = 100 tr, te, trc, tec = nn_t.train(display_step=step, out=True, path='test.final') epochs = np.arange(int(settings.NN['TRAINING_CYCLES'] / step)) f, ax = plt.subplots(2) ax[0].plot(epochs, tr, color='#FF2D00', label='Training Accuracy') #ax[0].plot(epochs, vl, color='#1DFF00', label='Validation Accuracy') ax[0].plot(epochs, te, color='#0014FF', label='Testing Accuracy') ax[0].legend(loc="lower right") ax[0].set_xlabel('Epoch') ax[0].set_ylabel('Accuracy') ax[0].set_title('Accuracy vs Number of epochs') ax[1].plot(epochs, trc, color='#FF2D00', label='Training Lost') ax[1].plot(epochs, tec, color='#1DFF00', label='Test Lost') ax[1].legend(loc="lower right") ax[1].set_xlabel('Epoch') ax[1].set_ylabel('Loss') ax[1].set_title('Loss vs Number of Epochs') f.suptitle('Network with %s layers' % settings.NN['NUM_HIDDEN_LAYERS']) plt.show()
def setUpClass(cls): cls.fileset = musicset.MusicSet(dirname='features3') cls.fileset.load_files() cls.total_features = 0 for f in settings.FEATURES: cls.total_features += settings.FEATURES_LENGTH[f]
def setUp(self): self.dataset = musicset.MusicSet() self.dataset.one_hot_encode_genres()
def setUpClass(cls): super().setUpClass() cls.fileset = musicset.MusicSet() cls.fileset.load_files()
def setUp(self): self.fileset = musicset.MusicSet() self.fileset.load_files()
def test_visual_data(self): featureset = musicset.MusicSet(dirname='features_md_6') featureset.visualize()
def test_lda(self): featureset = musicset.MusicSet(dirname='features2') train = featureset.load_train_data() new_features = reduce.lda(train.music, train.labels) print(new_features.shape)