显示每个节点的 Neurolabs Weights/Bias?
Showing Neurolabs Weights/Bias for each node?
是否有一种简单的方法可以显示每个 属性 的偏差或权重,我在训练后将其输入到使用 neurolab 开发的 ANN 中?
是的,您可以看到图层的所有权重和偏差。
通过使用
net.layers[i].np['w']
权重
net.layers[i].np['b']
偏差
要自己手动更改它们,您只需使用 [:]
添加到末尾并将它们设置为一个 numpy 数组。
这是我在具有 3 层(1 个输入层、1 个隐藏层和 1 个输出层)的简单网络上使用的示例测试代码。
import neurolab as nl
import numpy as np
net = nl.net.newff([[0,1]] * 3, [4,2])
net.save("test.net")
net = nl.load("test.net")
# show layer weights and biases
for i in range(0,len(net.layers)):
print "Net layer", i
print net.layers[i].np['w']
print "Net bias", i
print net.layers[i].np['b']
#try setting layer weights
net.layers[0].np['w'][:] = np.array ([[0,1,2],
[3,4,5],
[4,5,6],
[6,7,8]]
)
# show layer weights and biases
for i in range(0,len(net.layers)):
print "Net layer", i
print net.layers[i].np['w']
print "Net bias", i
print net.layers[i].np['b']
是否有一种简单的方法可以显示每个 属性 的偏差或权重,我在训练后将其输入到使用 neurolab 开发的 ANN 中?
是的,您可以看到图层的所有权重和偏差。 通过使用
net.layers[i].np['w']
权重
net.layers[i].np['b']
偏差
要自己手动更改它们,您只需使用 [:]
添加到末尾并将它们设置为一个 numpy 数组。
这是我在具有 3 层(1 个输入层、1 个隐藏层和 1 个输出层)的简单网络上使用的示例测试代码。
import neurolab as nl
import numpy as np
net = nl.net.newff([[0,1]] * 3, [4,2])
net.save("test.net")
net = nl.load("test.net")
# show layer weights and biases
for i in range(0,len(net.layers)):
print "Net layer", i
print net.layers[i].np['w']
print "Net bias", i
print net.layers[i].np['b']
#try setting layer weights
net.layers[0].np['w'][:] = np.array ([[0,1,2],
[3,4,5],
[4,5,6],
[6,7,8]]
)
# show layer weights and biases
for i in range(0,len(net.layers)):
print "Net layer", i
print net.layers[i].np['w']
print "Net bias", i
print net.layers[i].np['b']