一个简单灵活的Python库,允许您构建自定义的神经网络,在那里您可以轻松地调整参数以改变网络的行为。
flexible-neural-network的Python项目详细描述
柔性神经网络< /H1>
一个简单灵活的Python库,允许您构建自定义的神经网络,在这里您可以轻松地调整参数以改变网络的行为
安装
pip install flexible-neural-network
初始化
首先初始化一个神经网络对象并传递输入、输出和隐藏层的数量
myNN = NeuralNet(number_of_inputs, number_of_outputs, number_of_hidden_layers)
您可以选择从“relu”、“sigmoid”、“tanh”使用什么activation function
myNN = NeuralNet(number_of_inputs, number_of_outputs, number_of_hidden_layers, activation_func="sigmoid")
您可以选择修改learning rate
myNN = NeuralNet(number_of_inputs, number_of_outputs, number_of_hidden_layers, learning_rate=0.1)
您可以选择调整每个隐藏层中的节点数
通过指定一个整数,如3:如果有4个隐藏层,则每个层将有3个节点=>;[3,3,3,3]
myNN = NeuralNet(number_of_inputs, number_of_outputs, number_of_hidden_layers, nodes_in_each_layer=3)
通过指定长度为的整数列表,例如[3,5,2,3]的隐藏层数:如果有4个隐藏层,则每个层将具有相应的不同节点数=>;[3,5,2,3]
myNN = NeuralNet(number_of_inputs, number_of_outputs, number_of_hidden_layers, nodes_in_each_layer=[3, 5, 2, 3])
如何使用
假设初始化对象和数据如下:
myNN = NeuralNet(2, 1, 2, nodes_in_each_layer=4, learning_rate=0.1, activation_func="sigmoid")
data = np.array([
[3, 1.5, 1],
[2, 1, 0],
[4, 1.5, 1],
[3, 1, 0],
[3.5, .5, 1],
[2, .5, 0],
[5.5, 1, 1],
[1, 1, 0]
])
mystery_data = [2, 1] # should be classified as 1
您可以:
在这里,我们将epoch的数量指定为1
train单个条目:
myNN.train(data[0, 0:2], data[0, 2], epochs=1)
训练多个条目
myNN.train_many(data[:, 0:2], data[:, 2], epochs=1)
测试单个/多个条目
output = myNN.test(mystery_flower)
其中输出始终是np.ndarray,其大小与对象构造函数中指定的大小相同。对于当前示例,它是=[1.45327823]显然nns没有给出确切的答案,我们的工作是确定它是哪个类,并根据我们只有0类或1类的培训数据判断,我们得到的输出比0接近1,因此您应该将其分类为1