Проблемма в кол-во попытках для нейросети, а также в запоминание веса

Проблема заключается в том что когда я запускаю нейронную сеть ей приходиться попробовать 200млн попыток чтобы найти ответ а я бы хотел чтобы он запоминал прикаких рехультатах ответ выводится правильный. Я начинающий так что бейте если не оптимизированно или что-то плохо буду всем блягодарен.

import numpy as np

def sigmoid(x):
    return 1/(1 + np.exp(-x))

training_inputs = np.array([[0,0,1],
                            [1,1,1],
                            [1,0,1],
                            [0,1,1]])

training_outputs = np.array([[0,1,1,0]]).T

np.random.seed(1)

synaptic_weights = 2 * np.random.random((3,1)) - 1

for i in range(20000000):
    input_layer = training_inputs
    outputs = sigmoid( np.dot(input_layer, synaptic_weights) )

    err = training_outputs - outputs
    adjustments = np.dot( input_layer.T, err * (outputs * (1 - outputs)) )

    synaptic_weights+= adjustments

print( "Веса после обучения:" )
print(synaptic_weights)

print( "Результат после обучения:" )
print(outputs)

# ТЕСТ
new_inputs = np.array([0,1,0])
output = sigmoid( np.dot( new_inputs, synaptic_weights ) )

print("Новая ситуация")
print(output)

Ответы (1 шт):

Автор решения: passant

Что-то вопрос либо слишком тривиальный, либо за гранью понимания. Давайте уточним. Вы пишете, что провели обучение, нашли веса своей нейросетки.

Впрочем, процесса обучения я как-то не заметил. Процесс подбора параметра - да присутствует. Но процесс обучения нейросети - это поступление на вход МНОЖЕСТВА примеров. Пусть 2000000 - но примеров. А не 2000000 итераций на одном входном примере. Это что касается вашей программы.

Теперь собственно вопрос.

Если предположить, что вы таки обучили нейростеть, нашли ее параметры и желаете их сохранить для использования в дальнейшем, то сделать это можно единственным способом - записав их в файл, а потом, при необходимости - читая их из этого файла.

→ Ссылка