Esempio n. 1
0
def test_classification():
    num_class = 10

    print 'initialize Neural Network.'
    nn_obj = dp.obj_load('./learn-classification-batch.pkl')

    print 'read test data.'
    test_data  = dp.obj_load_gzip('../../mnist/mnist-test_data.pkl.gz')

    print 'read test label.'
    test_label = dp.obj_load_gzip('../../mnist/mnist-test_label.pkl.gz')
 
    print 'data  size : ', len(test_data)
    print 'label size : ', len(test_label)

    data_num = len(test_data)
    prediction_error = []
    prediction_recog = []

    print '--start--'
    print '@@ Test Character Recognition @@'
    for j in range(0, data_num):
        prg.show_progressxxx(j+1, data_num)
    
        num_recog, list_recog = nn_obj.test(test_data[j], test_label[j])

        if test_label[j][num_recog] == 0:
            prediction_error.append((test_label[j], num_recog))

    prg.end_progress()

    count = len(prediction_error)

    for item in prediction_error:
        print "Truth:", np.argmax(item[0]), ", --> But predict:", item[1]

    print ''
    print 'error : ', count, '/', data_num, '(', count * 1.0 / data_num * 100.0, '%)'

    return
Esempio n. 2
0
import dump as dp
import progress as prg

start = time.time()

# XORの入出力データ
input_data = [[0., 0.], [0.,  1.], [ 1., 0.], [ 1.,  1.]]
teach_data = [    [0.],      [1.],      [1.],       [0.]]



data_num = len(input_data)

print '--start--'
print '@@ Show before learning @@'
neuro_obj = dp.obj_load('./default-br.dump')
for i in range(0, data_num):
    print '------Input[%d]------' % i
    neuro_obj.test(input_data[i], teach_data[i])    
    neuro_obj.show_element('input')
    neuro_obj.show_element('output')
    neuro_obj.show_element('ttlerr')
print ''
    
print '@@ Show after learning @@'
neuro_obj = dp.obj_load('./learn-br.dump')
for i in range(0, data_num):
    print '------Input[%d]------' % i
    neuro_obj.test(input_data[i], teach_data[i])    
    neuro_obj.show_element('input')
    neuro_obj.show_element('output')
Esempio n. 3
0
import numpy as np
import Mln as mln
import dump as dp
import progress as prg
import image as img

from sklearn.datasets import load_digits
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import LabelBinarizer
from sklearn.metrics import confusion_matrix, classification_report

teach_data = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0] # dummy

print '--start--'
print '@@ Show after learning @@'
neuro_obj = dp.obj_load('./learn-cr.dump')

def recognition_digit_image(fname, digit = 100):
    im = cv2.imread(fname)
    im = img.change_size_with_size(im, 28, 28)
    im = img.change_grayscale(im)
    im = 255 - im
    input_data = im
    input_data = input_data.astype(np.float64)
    input_data = im / im.max()
    input_data = np.reshape(input_data, (1, 28*28))
    neuro_obj.test(input_data, teach_data)
    output = neuro_obj.get_output()

    if digit >=0 and digit <= 9:
        print "judged:", neuro_obj.get_max_output_index(),
Esempio n. 4
0
import Mln as mln
import dump as dp
import progress as prg

start = time.time()

# XORの入出力データ
input_data = [[0.0, 0.0], [0.0, 1.0], [1.0, 0.0], [1.0, 1.0]]
teach_data = [[0.0], [1.0], [1.0], [0.0]]


data_num = len(input_data)

print "--start--"
print "@@ Show before learning @@"
neuro_obj = dp.obj_load("./default-br.dump")
for i in range(0, data_num):
    print "------Input[%d]------" % i
    neuro_obj.test(input_data[i], teach_data[i])
    neuro_obj.show_element("input")
    neuro_obj.show_element("output")
    neuro_obj.show_element("ttlerr")
print ""

print "@@ Show after learning @@"
neuro_obj = dp.obj_load("./learn-br.dump")
for i in range(0, data_num):
    print "------Input[%d]------" % i
    neuro_obj.test(input_data[i], teach_data[i])
    neuro_obj.show_element("input")
    neuro_obj.show_element("output")
Esempio n. 5
0
        print "judged:", neuro_obj.get_max_output_index()
    
    # if you wanna show image then you delete comment-out fllowing 3 lines.
    im = cv2.resize(im, (28*10, 28*10))
    cv2.imshow("input_data", im)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


teach_data = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0] # dummy

print '--start--'
print '@@ Show after learning @@'

#neuro_obj = dp.obj_load('./learn-classification.pkl') # online training's pkl
neuro_obj = dp.obj_load('./learn-classification-batch.pkl') # batch training's pkl

recognition_digit_image("../../hand-writing-number/0.png", 0)
recognition_digit_image("../../hand-writing-number/1.png", 1)
recognition_digit_image("../../hand-writing-number/2.png", 2)
recognition_digit_image("../../hand-writing-number/3.png", 3)
recognition_digit_image("../../hand-writing-number/4.png", 4)
recognition_digit_image("../../hand-writing-number/5.png", 5)
recognition_digit_image("../../hand-writing-number/6.png", 6)
recognition_digit_image("../../hand-writing-number/7.png", 7)
recognition_digit_image("../../hand-writing-number/8.png", 8)
recognition_digit_image("../../hand-writing-number/9.png", 9)


# judging '9' is success.
recognition_digit_image("../../hand-writing-number/number.png")
Esempio n. 6
0
        else                                         : print "judged(miss)   :", neuro_obj.get_max_output_index()
    else:
        print "judged:", neuro_obj.get_max_output_index()
    
    # if you wanna show image then you delete comment-out fllowing 3 lines.
#    cv2.imshow("input_data", im)
#    cv2.waitKey(0)
#    cv2.destroyAllWindows()


teach_data = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0] # dummy

print '--start--'
print '@@ Show after learning @@'

neuro_obj = dp.obj_load('./learn-classification.pkl') # online training's pkl
#neuro_obj = dp.obj_load('./learn-classification-batch.pkl') # batch training's pkl

recognition_digit_image("../../hand-writing-number/0.png", 0)
recognition_digit_image("../../hand-writing-number/1.png", 1)
recognition_digit_image("../../hand-writing-number/2.png", 2)
recognition_digit_image("../../hand-writing-number/3.png", 3)
recognition_digit_image("../../hand-writing-number/4.png", 4)
recognition_digit_image("../../hand-writing-number/5.png", 5)
recognition_digit_image("../../hand-writing-number/6.png", 6)
recognition_digit_image("../../hand-writing-number/7.png", 7)
recognition_digit_image("../../hand-writing-number/8.png", 8)
recognition_digit_image("../../hand-writing-number/9.png", 9)


# judging '9' is success.