else: labels.append(0) if verbose: # print(data) # print(files) print(labels) print() return data, labels if __name__ == '__main__': train_data, train_target = fetch_data('downgesture_train.list') neuralnet = NeuralNetwork() neuralnet.add_layer(size=1, input_size=len(train_data[0]), type='input') neuralnet.add_layer(size=100) neuralnet.add_layer(size=1, type='output') neuralnet.fit(data=train_data, target=train_target, eta=0.1, verbose=verbose) # if needed clean data # fit a model # train a model test_data, test_target = fetch_data('downgesture_test.list') predicted_target = neuralnet.predict(test_data) accuracy = neuralnet.accuracy(test_target, predicted_target) print("Accuracy:", accuracy)
print("nn topo : {}".format(topo)) ## Momentum learning_rate = MomentumLearningRate(learning_rate=alpha, beta=0.9) network = NeuralNetwork(topo=topo, alpha=alpha, learning_rate=learning_rate, lambdaa=lambdaa, regularization=L2Regularization).initialize() for epoch in range(300): network.forward(train_X) network.backward(train_Y) if epoch % 10 == 0: train_loss = np.mean(network.loss(train_X, train_Y)) test_loss = np.mean(network.loss(test_X, test_Y)) test_acc = network.accuracy(test_X, test_Y) print("Epoch:{} Training Loss:{} Test Loss:{} Test Acc:{}".format( epoch, train_loss, test_loss, test_acc)) ## final train_loss = np.mean(network.loss(train_X, train_Y)) test_loss = np.mean(network.loss(test_X, test_Y)) test_acc = network.accuracy(test_X, test_Y) print("Epoch:{} Training Loss:{} Test Loss:{} Test Acc:{}".format( "Final", train_loss, test_loss, test_acc)) # pre = (network.predict(test_X)>0.5).astype(float) pre = network.predict(test_X) print("Predict : {}".format(pre))