0

我正在使用控制“生物”的神经网络进行非常基本的人工生命模拟。我为我的前几次尝试制作了自己的版本,但成功有限。我决定暂时使用 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
4

1 回答 1

0

如果您希望权重仅仅是常数,那么它们只是矩阵乘法,您可以使用tf.constant. 如果您想在可训练和不可训练权重之间切换,请使用tf.get_variables('weights', trainable=False); 比切换 True 或 False。

于 2017-08-30T17:11:58.353 回答