essayant de transmettre propager des données à travers un réseau de neuronesfonction sigmoïde réseau de neurones « prend exactement 1 argument (2 donné) »
import numpy as np
import matplotlib.pyplot as plt
class Neural_Network(object):
def __init__(self):
#Define Hyperparameters
self.inputLayerSize = 2
self.outputLayerSize = 1
self.hiddenLayerSize = 3
#Weights (parameters)
self.W1 = np.random.randn(self.inputLayerSize, self.hiddenLayerSize)
self.W2 = np.random.randn(self.hiddenLayerSize, self.outputLayerSize)
def forward(self, X):
#Propagate inputs though network
self.z2 = np.dot(X, self.W1)
self.a2 = self.sigmoid(self.z2)
self.z3 = np.dot(self.a2, self.W2)
yHat = self.sigmoid(self.z3)
return yHat
def sigmoid(z):
# apply sigmoid activation function
return 1/(1+np.exp(-z))
Quand je lance:
NN = Neural_Network() yHat = NN.forward(X)
Pourquoi puis-je obtenir la erreur: TypeError: sigmoid() takes exactly 1 argument (2 given)
quand je lance: print NN.W1
i get: [[ 1.034435 -0.19260378 -2.73767483] [-0.66502157 0.86653985 -1.22692781]]
(peut-être cela est un problème avec la fonction de point numpy retour trop de dimensions?)
* Note: je cours dans le carnet de jupyter et %pylab inline
Vous étudierez ANNs à travers les didacticiels de Stephen Welch (_Welchlabs_)? Je pense que j'ai déjà vu ce code là. – ForceBru
Oui, pur oubli de ma part si – mleafer
continuer, ces tutoriels sont absolument génial! J'ai moi-même beaucoup appris d'eux. Vous pouvez également consulter [ce livre en ligne sur les ANNs] (http://neuralnetworksanddeeplearning.com), il a de nombreux exemples et des explications très propres. – ForceBru