correct_prediction3 = tf.equal(tf.argmax(y_conv4, 1), tf.argmax(aud_outputY, 1)) accuracy3 = tf.reduce_mean(tf.cast(correct_prediction3, tf.float32)) #saver = tf.train.Saver() sess = tf.InteractiveSession() sess.run(tf.global_variables_initializer()) acc_xTrain = array(acc_xTrain).reshape(len(acc_xTrain), numTotalAcc) acc_yTrain = array(acc_yTrain).reshape(len(acc_yTrain), numLabel) aud_xTrain = array(aud_xTrain).reshape(len(aud_xTrain), numTotalAud) aud_yTrain = array(aud_yTrain).reshape(len(aud_yTrain), numLabel) xTrain = array(xTrain).reshape(len(xTrain), numTotalAcc + numTotalAud) yTrain = array(yTrain).reshape(len(yTrain), numLabel) bf.mLog("training Start", logPath) cTime = time.localtime() for j in range(15001): batch_X, batch_Y = bf.getBatchData(BATCHSIZE, xTrain, yTrain) batch_XA = batch_X[:,0:numTotalAcc] batch_XB = batch_X[:,numTotalAcc : numTotalAcc + numTotalAud] train_step2.run(session=sess, feed_dict={aud_inputX:batch_XB, aud_outputY:batch_Y, keep_prob:0.5}) if j % BATCHSIZE == 0: train_accuracy2 = accuracy2.eval(session=sess, feed_dict={acc_inputX: batch_XA, acc_outputY: batch_Y, aud_inputX: batch_XB, aud_outputY: batch_Y, keep_prob:1.0}) bf.mLog("step %d, accuracy %g" % (j, train_accuracy2), logPath) yPreTmp = tf.argmax(y_conv2, 1) test_accuracy = accuracy2.eval(feed_dict={acc_inputX: acc_xTest, acc_outputY: acc_yTest, aud_inputX: aud_xTest, aud_outputY: aud_yTest, keep_prob: 1.0}) bf.mLog("test accuracy %g" % test_accuracy, logPath) #bf.mLog("AUD step %d, All accuracy %g" % (j, train_accuracy3), logPath) #h1 = sess.run(y_conv1, feed_dict={acc_inputX: batch_XA, acc_outputY: batch_Y, aud_inputX: batch_XB, aud_outputY: batch_Y, keep_prob:1.0})
logPath = logDir + logFile BATCHSIZE = 50 filePath = '../data/20190816/Dual/win15000/' patternName = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a'] numFreq = 6 numAudioData = 569 numTotalAud = numFreq * numAudioData numTotalAcc = 300 windowSize = 15000 numLabel = len(patternName) bf.allNumber = 0 bf.mLog( "\nSTFT window size : " + str(windowSize) + "\nNumber of Frequency Slice : " + str(numFreq), logPath) data = [] #audioData = [] for fileIndex in range(1, 51): for patternIndex in range(10): fileName = patternName[patternIndex] + "/" + patternName[ patternIndex] + "_" + str(fileIndex) + ".csv" if (patternName[patternIndex] == 'a'): label = '0' else: label = patternName[patternIndex] tmp = bf.onlyFileRead(filePath, fileName, label) data.append(tmp) np.random.shuffle(data)