【问题标题】:Change batch size in each training in Tensorflow在 Tensorflow 的每次训练中更改批量大小
【发布时间】:2017-11-17 13:16:02
【问题描述】:

我正在尝试在 tensorflow 中实现一个简单的 LSTM 模型。我将句子行作为字符数组作为输入。

示例输入:

['Y', 'â', 'r', 'â', 'b', ' ', 'n', 'e', ' ', 'i', 'n', 't', 'i', 'z', 'â', 'r', 'd', 'ı', 'r', ' ', 'b', 'u']

我尝试将这些输入输入到 lstm 的每个训练步骤。问题是句子的长度不是恒定的。一些句子长度可以是 20 和其他一些 22 或其他任何东西。

训练的一小部分:

x_input =  [dictionary[i]  for i in line]

x_input = np.reshape(np.array(x_input), [-1, n_input, 1])

onehot_out = np.zeros([output_size], dtype=float)
onehot_out[vezin] = 1.0
onehot_out = np.reshape(onehot_out, [1, -1])

_, acc, loss, onehot_pred = session.run([optimizer, accuracy, cost, pred],\
        feed_dict={x: x_input, y: onehot_out})

有没有办法在每个去皮步骤中更改输入大小? 如果有不好用?

【问题讨论】:

    标签: python tensorflow lstm rnn


    【解决方案1】:

    当我发布这个问题时,我刚开始RNN。其实答案很简单,如果有和我遇到同样问题的人,我就来回答。

    解决方案是使用动态RNN。它允许您提供不同序列的输入,这对大多数RNN 模型非常重要。

    Tensorflow 有一个动态 RNN 的实现,非常有用。更多信息请查看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 2017-06-10
      • 2017-01-19
      • 2019-05-07
      • 1970-01-01
      • 2021-06-17
      相关资源
      最近更新 更多