【问题标题】:tensorflow one to one rnn sequence trainingtensorflow 一对一 rnn 序列训练
【发布时间】:2016-09-14 14:32:01
【问题描述】:

我正在使用张量流

在双向部分我希望实现一个合理的分析,我看到的所有例子都是从序列到一种。我想要一个一对一的网络。

依次是这个部分

def BiRNN(x, weights, biases):
    #...some code... 
    return tf.matmul(outputs[-1], weights['out']) + biases['out']  

pred = BiRNN(x, weights, biases)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

但我想要这样的一对一:

def BiRNN(x, weights, biases):
    #...some code... 
    for re in range(n_steps):
        outputs[re] = tf.matmul(outputs[re], weights['out']) + biases['out']
    outputs=tf.pack(outputs)
    return[outputs]

pred = BiRNN(x, weights, biases)

cost = tf.reduce_mean(tf.pow(pred - y, 2))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

但我不确定这样做的正确方法

谁能指出我正确的方向?

【问题讨论】:

    标签: tensorflow recurrent-neural-network lstm


    【解决方案1】:

    这可以解决问题。 msn 是 0 到 n_steps 之间的随机数

    outputs=tf.pack(outputs)
        print(outputs)
        outputs=tf.reshape(outputs,[n_steps,6])
    
        print(tf.slice(outputs,[msn,0],[1,6]))
        return         [tf.slice(outputs,[msn,0],[1,6])-tf.slice(y,[msn,0],[1,6]),outputs]
    
    
    pred = BiRNN(x,y, weights, biases,msn)
    
    # Define loss and optimizer
    cost = tf.reduce_mean(tf.pow(pred[0], 2))
    optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-31
      • 2019-04-12
      • 2017-09-18
      • 2017-12-30
      • 2020-09-07
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      相关资源
      最近更新 更多