示例#1
0
if __name__ == "__main__":
    D_input = 39
    D_label = 24
    learning_rate = 7e-5
    num_units = 1024
    EPOCH = 100
    train_data = ""
    test_data = " "
    # 样本的输入和标签
    inputs = tf.placeholder(tf.float32, [None, None, D_input], name="inputs")
    labels = tf.placeholder(tf.float32, [None, D_label], name="labels")
    # 实例LSTM类
    rnn_cell = LSTM(inputs, D_input, num_units, orthogonal_initializer)
    # 调用scan计算所有hidden states
    rnn0 = rnn_cell.all_steps()
    # 将3维tensor [n_steps, n_samples, D_cell]转成 矩阵[n_steps*n_samples, D_cell]
    # 用于计算outputs
    rnn = tf.reshape(rnn0, [-1, num_units])
    # 输出层的学习参数
    W = weight_init([num_units, D_label])
    b = bias_init([D_label])
    output = tf.matmul(rnn, W) + b
    # 损失
    loss = tf.reduce_mean((output-labels)**2)
    # 训练所需
    train_step = tf.train.AdamOptimizer(learning_rate).minimize(loss)
    # 建立session并实际初始化所有参数
    sess = tf.InteractiveSession()
    tf.global_variables_initializer().run()
    train_epoch(EPOCH, train_data, test_data)