def start(): nn = NN([400, 250, 10], ["tanh", "sigmoid"], cost_function="ce") training_data = scipy.io.loadmat('../data/digits/ex4data1.mat') X = training_data.get("X") y = training_data.get("y") targets = [] for j in y: t = [0] * 10 t[j-1] = 1 targets.append(t) nn.train(X, targets, batch_size=5, alpha=0.1, lamda=0.0, iterations=10) print "training finished" wrong = 0 right = 0 for jindex, x in enumerate(X): p = nn.predict(x) maxind = p.argmax() + 1 if maxind == y[jindex]: right += 1 else: wrong += 1 print "right: %s, wrong: %s" % (right, wrong) acc = right / float(len(y)) return acc
def start(): nn = NN([400, 250, 10], ["tanh", "sigmoid"], cost_function="ce") training_data = scipy.io.loadmat('../data/digits/ex4data1.mat') X = training_data.get("X") y = training_data.get("y") targets = [] for j in y: t = [0] * 10 t[j - 1] = 1 targets.append(t) nn.train(X, targets, batch_size=5, alpha=0.1, lamda=0.0, iterations=10) print "training finished" wrong = 0 right = 0 for jindex, x in enumerate(X): p = nn.predict(x) maxind = p.argmax() + 1 if maxind == y[jindex]: right += 1 else: wrong += 1 print "right: %s, wrong: %s" % (right, wrong) acc = right / float(len(y)) return acc
from neuron.neuralnet import NN import time if __name__ == "__main__": start_time = time.time() inputs = [[0, 0], [0, 1], [1, 0], [1, 1]] targets = [[0], [1], [1], [0]] nn = NN([2, 2, 1], ["sigmoid", "sigmoid"], cost_function="ce") nn.train(inputs, targets, batch_size=4, alpha=1, lamda=0.0, iterations=3000) preds = [] for index, inp in enumerate(inputs): pred = nn.predict(inp) preds.append(pred) print "%s -> %s" % (inp, pred) end = time.time() print "duration: %s" % (end - start_time) assert preds[0] < 0.01 and preds[1] > 0.99 and preds[2] > 0.99 and preds[ 3] < 0.01
from neuron.neuralnet import NN import time if __name__ == "__main__": start_time = time.time() inputs = [[0, 0, 1], [1, 0, 0], [0, 1, 0]] targets = [[1, 0, 0], [0, 0, 1], [0, 1, 0]] nn = NN([3, 3, 5, 3], ["sigmoid", "tanh", "softmax"], cost_function="softmax_ce") nn.train(inputs, targets, batch_size=4, alpha=1, lamda=0.0, iterations=1000) preds = [] for index, inp in enumerate(inputs): pred = nn.predict(inp) preds.append(pred) print "%s -> %s" % (inp, pred) end = time.time() e1 = sum(abs(preds[0] - targets[0])) e2 = sum(abs(preds[1] - targets[1])) e3 = sum(abs(preds[2] - targets[2])) print "%s %s %s" % (e1, e2, e3) print "duration: %s" % (end - start_time) assert e1 < 0.006 and e2 < 0.006 and e3 < 006