我正在学习python,但是我的头脑还不太清楚如何为神经网络创建多个数组。我得到的示例往往是围绕一个神经数组示例展开的,我想创建多个。下面是一个神经网络,我如何扩展它在numpy,所以它的许多感谢预付款.Im尝试创建一组神经网络阵列,每个阵列都有自己的输入隐藏层和输出层8)
import numpy as np
epochs = 10000 # Number of iterations
inputLayerSize, hiddenLayerSize, outputLayerSize = 2,2,1
X = np.array([[0,0], [0,1], [1,0], [1,1]])
Y = np.array([ [0], [1], [1], [0]])
def sigmoid (x): return 1/(1 + np.exp(-x)) # activation function
def sigmoid_(x): return x * (1 - x) # derivative of sigmoid
# weights on layer inputs
Wh = np.random.uniform(size=(inputLayerSize, hiddenLayerSize))
Wz = np.random.uniform(size=(hiddenLayerSize,outputLayerSize))
for i in range(epochs):
H = sigmoid(np.dot(X, Wh)) # hidden layer results
Z = sigmoid(np.dot(H, Wz)) # output layer results
E = Y - Z # how much we missed #(error)
dZ = E * sigmoid_(Z) # delta Z
dH = dZ.dot(Wz.T) * sigmoid_(H) # delta H
Wz += H.T.dot(dZ) # update output layer #weights
Wh += X.T.dot(dH) # update hidden layer #weights
print("------") # what have we learnt?
#Walk-through
print(Z)
你为什么不把整个网络写在一个函数里,把变量作为参数传递,这样你就可以拥有你所需要的任意多的网络。你知道吗
您的代码中有一个错误:
相关问题 更多 >
编程相关推荐