Пример #1
0
			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}) 
Пример #2
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)