0

Вход представляет собой массив с переменным размером. Я могу обрабатывать только один пример за один пример в train_model. Я хочу накопить сумму целей для элементов в партии, затем применить регуляризацию и градиентный спуск.theano - как пользоваться многими функциями

В настоящее время это этап подготовки, когда обновления выполняются для каждого элемента xi.

for epoch in range(n_epochs): 
minibatch_avg_cost = 0 
for xi in dataset.get_next_xi(batch_size): 
    minibatch_avg_cost += train_model(xi) 

    print(minibatch_avg_cost) 

Как я могу получить результаты train_model (хi) для числа элементов в пакете, а затем делать обновление?

ответ

0

просто используйте все элементы в dataset.get_next_xi(batch_size) в качестве входных данных и создайте функцию anano для вычисления средней стоимости (вместо одной стоимости) и выполните обновления, используя среднюю стоимость. Вы можете увидеть пример кода из here

они используют Theano функцию от модели поезда, как это:

train_model = theano.function(
    inputs=[index], 
    outputs=cost, 
    updates=updates, 
    givens={ 
     x: train_set_x[index * batch_size: (index + 1) * batch_size], 
     y: train_set_y[index * batch_size: (index + 1) * batch_size] 
    } 
) 

с cost средняя стоимость наборов данных пакета

Смежные вопросы