Python 创建多个隐层神经网络
我正在从头开始创建一个神经网络(不能够使用任何现有的框架),我想知道它如何能够使构造函数包含可变数量的隐藏层?到目前为止,我已经创建了一个,但是我有点被困在如何将它扩展到多个隐藏层上。(在Python上完成) 编辑:Python 创建多个隐层神经网络,python,machine-learning,neural-network,Python,Machine Learning,Neural Network,我正在从头开始创建一个神经网络(不能够使用任何现有的框架),我想知道它如何能够使构造函数包含可变数量的隐藏层?到目前为止,我已经创建了一个,但是我有点被困在如何将它扩展到多个隐藏层上。(在Python上完成) 编辑: 请发布您的代码。@MihaiAlexandru Ionut添加的构造函数标识已损坏。请先修复。您的问题听起来好像不知道如何将字典/列表传递给函数。 class NeuralNetwork: # Constructor def __init__(self, input
请发布您的代码。@MihaiAlexandru Ionut添加的构造函数标识已损坏。请先修复。您的问题听起来好像不知道如何将字典/列表传递给函数。
class NeuralNetwork:
# Constructor
def __init__(self, input_len, hidden_units, output_len,
act_func = None, loss_func=None,
init_weights=np.zeros, output_func=None,
random_seed=None):
if random_seed:
np.random_seed(random_seed)
self.loss_func = loss_func
self.output_func = output_func
self.L = len(hidden_units) + 2 # change this later
self.layers = []
input_layer = Layer(np.identity(input_len),
np.zeros(input_len), id_f)
self.layers.append(input_layer)
for neurons, func in zip(hidden_units, act_func):
prev_neurons = self.layers[-1].num_neurons
weight_mat = init_weights((neurons,prev_neurons))
biases = init_weights((neurons, ))
current_layer = Layer(weight_mat, biases, func)
self.layers.append(current_layer)