import Mln as mln import dump as dp import progress as prg from sklearn.preprocessing import LabelBinarizer start = time.time() # 多層パーセプトロン learning_count = 100000 #neuro_obj = mln.Mln().make_neuralnet([28*28, 100, 10], ['tanh', 'softmax'], 0.01, solved = 'classification') #neuro_obj = mln.Mln().make_neuralnet([28*28, 1000, 10], ['tanh', 'softmax'], 0.01, solved = 'classification') neuro_obj = mln.Mln().make_neuralnet([28*28, 10000, 10], ['tanh', 'softmax'], 0.01, solved = 'classification') labels = dp.label_file_read('../../mnist/train-labels-idx1-ubyte', True) input_data = dp.image_file_read('../../mnist/train-images-idx3-ubyte', True) # ピクセルの値を0.0-1.0に規格化 input_data = input_data.astype(np.float64) input_data /= input_data.max() print "input max : ", input_data.max() print 'data size : ', len(input_data) print 'label size : ', len(labels) # 教師信号の数字を1-of-K表記に変換 # 0 => [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 1 => [0, 1, 0, 0, 0, 0, 0, 0, 0, 0] # ... # 9 => [0, 0, 0, 0, 0, 0, 0, 0, 0, 1] labels_train = LabelBinarizer().fit_transform(labels)
#!/usr/bin/python # coding=utf-8 # Measure Modules # Handmade Modules import dump as dp num_class = 10 print '##### read training data. #####' training_data = dp.image_file_read('../../mnist/train-images-idx3-ubyte', normalize = 'max', show = True) print '##### read training label. #####' training_label = dp.label_file_read('../../mnist/train-labels-idx1-ubyte', num_class, show = True) #print '##### compress training data. #####' #dp.obj_dump_gzip(training_data, '../../mnist/mnist-training_data.pkl.gz') #print '##### compress training label. #####' #dp.obj_dump_gzip(training_label, '../../mnist/mnist-training_label.pkl.gz') print '##### make mnist data & label. #####' xxx = [] for tdi, tli in zip(training_data, training_label): xxx.append([tdi, tli]) print '##### compress training data and label. #####' dp.obj_dump_gzip(xxx, '../../mnist/mnist-training_all.pkl.gz')