예제 #1
0
def testing(num):
    trainData = np.load("traindigitbasic.npy")
    trainLabels = samples.loadLabelsFile("data/digitdata/traininglabels", num)
    testData = np.load("testdigitbasic.npy")
    testLabels = samples.loadLabelsFile("data/digitdata/testlabels", 1000)
    validData = np.load("validationdigitbasic.npy")
    validLabels = samples.loadLabelsFile("data/digitdata/validationlabels", 1000)

    neural = NeuralNetworkClassifier(28 * 28, 50, 10, num, 3.5)
    neural.train(trainData[:, 0:num], trainLabels, 100)
    print "Test Data"
    guess = neural.classify(testData)
    samples.verify(neural, guess, testLabels)
    print "==================================="
    print "Validation Data"
    guess = neural.classify(validData)
    samples.verify(neural, guess, validLabels)
예제 #2
0
def testing(num):
    trainData = np.load("trainfacebasic.npy")
    trainLabels = samples.loadLabelsFile("data/facedata/facedatatrainlabels", num)
    testData = np.load("testfacebasic.npy")
    testLabels = samples.loadLabelsFile("data/facedata/facedatatestlabels", 151)
    validData = np.load("validationfacebasic.npy")
    validLabels = samples.loadLabelsFile("data/facedata/facedatavalidationlabels", 301)
    loop=True
    while loop:
        neural = NeuralNetworkClassifier(60 * 70, 500, 1, num, 0.03)
        neural.train(trainData[:,0:num], trainLabels, 100)
        print "Test Data"
        guess = neural.classify(testData)
        loop=samples.verify(neural, guess, testLabels)
        if loop:
            continue
        print "==================================="
        print "Validation Data"
        guess = neural.classify(validData)
        samples.verify(neural, guess, validLabels)
예제 #3
0
def testing(num):
    trainData = np.load("traindigitbasic.npy")
    trainLabels = samples.loadLabelsFile("data/digitdata/traininglabels", num)
    testData = np.load("testdigitbasic.npy")
    testLabels = samples.loadLabelsFile("data/digitdata/testlabels", 1000)
    validData = np.load("validationdigitbasic.npy")
    validLabels = samples.loadLabelsFile("data/digitdata/validationlabels",
                                         1000)

    neural = NeuralNetworkClassifier(28 * 28, 50, 10, num, 3.5)
    neural.train(trainData[:, 0:num], trainLabels, 100)
    print "*************Test Data*************"
    guess = neural.classify(testData)
    samples.verify(neural, guess, testLabels)
    print "***********************************"
    print "************Valid Data*************"
    guess = neural.classify(validData)
    samples.verify(neural, guess, validLabels)
예제 #4
0
def testing(num):
    trainData = np.load("trainfaceadvanced.npy")
    trainLabels = samples.loadLabelsFile("data/facedata/facedatatrainlabels", num)
    testData = np.load("testfaceadvanced.npy")
    testLabels = samples.loadLabelsFile("data/facedata/facedatatestlabels", 151)
    validData = np.load("validationfaceadvanced.npy")
    validLabels = samples.loadLabelsFile("data/facedata/facedatavalidationlabels", 301)

    loop=True
    while loop:
        neural = NeuralNetworkClassifier(60 * (70+1), 500, 1, num, 0.03)
        neural.train(trainData[:,0:num], trainLabels, 100)
        print "Test Data"
        guess = neural.classify(testData)
        loop=samples.verify(neural, guess, testLabels)
        if loop:
            continue
        print "==================================="
        print "Validation Data"
        guess = neural.classify(validData)
        samples.verify(neural, guess, validLabels)
예제 #5
0
def main():
    """
	0: trainingData
	1: solution forward output | 0
	2: trainingLabel
	3: initialW
	4: initialb
	5: solutionW
	6: solutionb
	"""
    f = open('testData.np', 'rb')
    testData = cPickle.load(f)
    f.close()

    hwInst = TestClassifier(range(10), 'hwCls', 123)
    hwInst.initializeWeight(testData[0][0].shape[0], 10)
    hwInst.W = testData[0][3]
    hwInst.b = testData[0][4]
    netOut = hwInst.forwardPropagation(testData[0][0])
    if type(netOut) != np.ndarray:
        test(False, "hand-written, 450, forward, invalid return type")
    flag1 = (np.max(np.fabs(netOut - testData[0][1])) < EPSILON)
    test(flag1, "hand-written, 450, forward")
    hwInst.backwardPropagation(testData[0][1], testData[0][2], 0.02 / 450.)
    if type(hwInst.W) != list:
        test(False, "hand-written, 450, backward, invalid return type")
    if type(hwInst.b) != list:
        test(False, "hand-written, 450, backward, invalid return type")
    for i, w in enumerate(hwInst.W):
        if type(w) != np.ndarray:
            test(False, "hand-written, 450, backward, invalid return type")
        flag1 = (np.max(np.fabs(w - testData[0][5][i])) < EPSILON)
        test(flag1, "hand-written, 450, backward, W, " + str(i))
    for i, b in enumerate(hwInst.b):
        if type(b) != np.ndarray:
            test(False, "hand-written, 450, backward, invalid return type")
        flag1 = (np.max(np.fabs(b - testData[0][6][i])) < EPSILON)
        test(flag1, "hand-written, 450, backward, b, " + str(i))

    hwInst = TestClassifier(range(10), 'hwCls', 123)
    hwInst.initializeWeight(testData[1][0].shape[0], 10)
    hwInst.W = testData[1][3]
    hwInst.b = testData[1][4]
    hwInst.nLayer = len(hwInst.W)
    netOut = hwInst.forwardPropagation(testData[1][0])
    if type(netOut) != np.ndarray:
        test(False, "hand-written, 1500, forward, invalid return type")
    flag1 = (np.max(np.fabs(netOut - testData[1][1])) < EPSILON)
    test(flag1, "hand-written, 1500, forward")
    hwInst.backwardPropagation(testData[1][1], testData[1][2], 0.02 / 1500.)
    if type(hwInst.W) != list:
        test(False, "hand-written, 1500, backward, invalid return type")
    if type(hwInst.b) != list:
        test(False, "hand-written, 1500, backward, invalid return type")
    for i, w in enumerate(hwInst.W):
        if type(w) != np.ndarray:
            test(False, "hand-written, 1500, backward, invalid return type")
        flag1 = (np.max(np.fabs(w - testData[1][5][i])) < EPSILON)
        test(flag1, "hand-written, 1500, backward, W, " + str(i))
    for i, b in enumerate(hwInst.b):
        if type(b) != np.ndarray:
            test(False, "hand-written, 1500, backward, invalid return type")
        flag1 = (np.max(np.fabs(b - testData[1][6][i])) < EPSILON)
        test(flag1, "hand-written, 1500, backward, b, " + str(i))

    hwInst = TestClassifier(range(2), 'hwCls', 123)
    hwInst.initializeWeight(testData[2][0].shape[0], 2)
    hwInst.W = testData[2][3]
    hwInst.b = testData[2][4]
    hwInst.nLayer = len(hwInst.W)
    netOut = hwInst.forwardPropagation(testData[2][0])
    if type(netOut) != np.ndarray:
        test(False, "faces, 450, forward, invalid return type")
    flag1 = (np.max(np.fabs(netOut - testData[2][1])) < EPSILON)
    test(flag1, "faces, 450, forward")
    hwInst.backwardPropagation(testData[2][1], testData[2][2], 0.02 / 450.)
    if type(hwInst.W) != list:
        test(False, "faces, 450, backward, invalid return type")
    if type(hwInst.b) != list:
        test(False, "faces, 450, backward, invalid return type")
    for i, w in enumerate(hwInst.W):
        if type(w) != np.ndarray:
            test(False, "faces, 450, backward, invalid return type")
        flag1 = (np.max(np.fabs(w - testData[2][5][i])) < EPSILON)
        test(flag1, "faces, 450, backward, W, " + str(i))
    for i, b in enumerate(hwInst.b):
        if type(b) != np.ndarray:
            test(False, "faces, 450, backward, invalid return type")
        flag1 = (np.max(np.fabs(b - testData[2][6][i])) < EPSILON)
        test(flag1, "faces, 450, backward, b, " + str(i))