From d0f19b8bc7ab11449cea028106504cacecd94f66 Mon Sep 17 00:00:00 2001 From: hanemile Date: Mon, 19 Mar 2018 20:47:13 +0100 Subject: cleaned up --- src/python/nn.py | 60 -------------------------------------------------------- 1 file changed, 60 deletions(-) delete mode 100755 src/python/nn.py (limited to 'src/python/nn.py') diff --git a/src/python/nn.py b/src/python/nn.py deleted file mode 100755 index b36b103..0000000 --- a/src/python/nn.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python - -# Import numpy for using matrix operations -import numpy as np - -# define an actovation function -def sigmoid(x,deriv=False): - if(deriv==True): - return x*(1-x) - return 1/(1+np.exp(-x)) - -# 0 0 1 0 -# 0 1 1 0 -# 1 0 1 1 -# 1 1 1 1 - -# define an input matrix -X = np.array([ [0,0,1], [0,1,1], [1,0,1], [1,1,1] ]) - -# define an output matrix -y = np.array([[0,0,1,1]]).T - -# seed numpy -np.random.seed(1) - -# generate some weights -syn0 = 2*np.random.random((3,4)) - 1 - -# define how often the calculations should be run - -n = 100000 - -# loop -for i in range(n): - # define the first layer - l0 = X - - # define the second layer using the first layer and the weights - l1 = sigmoid(np.dot(l0,syn0)) - - # calculate an error - l1_error = y - l1 - - # calculate how fatal the error is - l1_delta = l1_error * sigmoid(l1,True) - - # adjust the weights - syn0 += np.dot(l0.T,l1_delta) - - # print some information - if (i % (n / 10000) == 0): - print("l1: " + str(l1)) - -print("") -print("Output After Training:") -print(l1) - -l0 = np.array([0, 1, 0]) -l1 = sigmoid(np.dot(l0, syn0)) -print(l1) -- cgit 1.4.1