Нейронные сети с тензорным потоком в питоне без обучения

Я делаю очень простой искусственный симулятор жизни с нейронными сетями, контролирующими "существ". Я сделал свою собственную версию для моих первых нескольких попыток, но с ограниченным успехом. Я решил использовать 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

1 ответ

Решение

Если вы хотите, чтобы веса были простыми константами, то есть они были просто умножением матриц, вы можете использовать tf.constant, Если вы хотите переключаться между обучаемым и не обучаемым весом, используйте tf.get_variables('weights', trainable=False); чем переключить True или False.

Другие вопросы по тегам