我正在进行一个非常基本的人工生命模拟,神经网络控制着“生物”。我在前几次尝试中制作了自己的版本,但收效甚微。我决定暂时使用TensorFlow(或任何库可以工作)。问题是我想要一种方法来输入权重,并接收输出,而不需要网络尝试训练自己(就像在我可以找到的所有教程和示例中所做的那样。我将最终包含我自己的代码,所以如果有一个简单的解决方案,这将是最好的,虽然库将使早期测试更容易。
def nn(n, s1, s2):
hidden_layer = []
out = []
tot = 0
for p in range(mid_num):
tot = 0
for u in range(len(n)):
tot += s1[u * mid_num + p] * n[u]
hidden_layer.append(tot)
tot = 0
for p in range(output_num):
for u in range(len(hidden_layer)):
tot += s2[u * output_num + p] * hidden_layer[u]
out.append(round(sigmoid(tot / 53000)))
# print(tot)
tot = 0
# print(out)
return out
答案 0 :(得分:0)
如果您希望权重仅仅是常量,那么它们只是矩阵乘法,您可以使用tf.constant
。如果您想在可训练和不训练的重量之间切换,请使用tf.get_variables('weights', trainable=False)
;比开关是真还是假。