for i in range(test_length): #if rank_result[i] == test_label[i]: if not (rank_result[i] ^ test_label[i]): num_hits += 1 acc_list.append(float(num_hits) / float(test_length)) #Bloom Wisard btuple_list = [2, 4, 8, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 40, 56] bacc_list = [] #capacity = len(train_bin) capacity = 50 print capacity for t in btuple_list: bwisard = wnn.BloomWisard(entry_size, t, num_classes, capacity) bwisard.train(train_bin, train_label) rank_result = bwisard.rank(test_bin) num_hits = 0 for i in range(test_length): #if rank_result[i] == test_label[i]: if not (rank_result[i] ^ test_label[i]): num_hits += 1 bacc_list.append(float(num_hits) / float(test_length)) print "Tuples=", tuple_list print "Wisard Accuracy=", acc_list print "Tuples=", btuple_list
b_stats = [] b_training_time = [] b_testing_time = [] b_acc = [] b_error = [] for e in range(len(errors)): btraining_time = [] btesting_time = [] bacc_list = [] for r in range(num_runs): bwisard = wnn.BloomWisard(entry_size, tuple_bit, num_classes, capacity, error=errors[e]) #Training start = timer() bwisard.train(train_bin, train_label) btraining_time.append(timer() - start) #Testing start = timer() rank_result = bwisard.rank(test_bin) btesting_time.append(timer() - start) #Accuracy num_hits = 0
wisard.train(folds_train_bin[f], folds_train_label[f]) rank_result = wisard.rank(folds_test_bin[f]) num_hits = 0 for i in range(test_length): if rank_result[i] == folds_test_label[f][i]: num_hits += 1 acc_list[j] += (float(num_hits)/float(test_length)) j += 1 #Bloom Wisard j = 0 for t in btuple_list: bwisard = wnn.BloomWisard(entry_size, t, num_classes, len(folds_train_label[f])) bwisard.train(folds_train_bin[f], folds_train_label[f]) rank_result = bwisard.rank(folds_test_bin[f]) num_hits = 0 for i in range(test_length): if rank_result[i] == folds_test_label[f][i]: num_hits += 1 bacc_list[j] += (float(num_hits)/float(test_length)) j += 1 for i in range(len(tuple_list)):
bin_data = bin_data.reshape(entry_size, ) test_bin.append(bin_data) train_bin = np.asarray(train_bin) test_bin = np.asarray(test_bin) #Wisard num_classes = 10 test_length = len(test_label) #Bloom Wisard btuple_list = [2, 4, 7, 8, 14, 16, 28, 49, 56] bacc_list = [] #for t in btuple_list: bwisard = wnn.BloomWisard(entry_size, 28, num_classes, 50000, error=0.5) bwisard.train(train_bin, train_label) rank_result = bwisard.rank(test_bin) bwisard_stats = bwisard.stats() print bwisard_stats num_hits = 0 for i in range(test_length): if rank_result[i] == test_label[i]: num_hits += 1 bacc_list.append(float(num_hits) / float(test_length)) #print "Tuples=", btuple_list print "BloomWisard Accuracy=", bacc_list
rank_result = wisard.rank(test_bin) num_hits = 0 for i in range(test_length): if rank_result[i] == test_label[i]: num_hits += 1 acc_list.append(float(num_hits) / float(test_length)) #Bloom Wisard btuple_list = [2, 4, 8, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 40, 56] bacc_list = [] for t in btuple_list: bwisard = wnn.BloomWisard(entry_size, t, num_classes, len(train_bin)) bwisard.train(train_bin, train_label) rank_result = bwisard.rank(test_bin) num_hits = 0 for i in range(test_length): if rank_result[i] == test_label[i]: num_hits += 1 bacc_list.append(float(num_hits) / float(test_length)) print "Tuples=", tuple_list print "Wisard Accuracy=", acc_list print "Tuples=", btuple_list print "BloomWisard Accuracy=", bacc_list
#Wisard print "Wisard" wisard2 = wnn.Wisard(20, 4, 2) c = [a, b] #t = np.ndarray(shape=(2, 20), buffer=np.array(c, dtype=bool), dtype=bool) wisard2.train(c, [0, 1]) #print t print wisard2.rank(c) wisard2.info() #BloomWisard print "Bloom Wisard" bwisard = wnn.BloomWisard(20, 4, 2, 1000) bwisard.train(c, [0, 1]) print bwisard.rank(c) bwisard.info() print "Dict Wisard" wisard = wnn.DictWisard(20, 4, 2) wisard.train(c, [0, 1]) #print t print wisard.rank(c) wisard.info() print "Done"