theano - 如何拥有许多相同的功能

时间:2016-03-24 16:24:01

标签: machine-learning theano deep-learning training-data stochastic

输入是一个可变大小的数组。我只能在train_model中一次处理一个给定示例的示例。我想累积批次中元素的目标总和,然后应用正则化和梯度下降。

目前,这是培训阶段,对每个元素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(xi)获取批处理中元素数量的结果,然后进行更新?

1 个答案:

答案 0 :(得分:0)

只需使用dataset.get_next_xi(batch_size)中的所有元素作为输入,并创建一个theano函数来计算平均成本(而不是仅一个成本)并使用平均成本进行更新。您可以看到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

是数据集批次的平均成本