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